Robot tallying method and system, server and storage medium
Through the server coordination of lifting robots and lurking robots in collaboration, the position exchange of materials boxes in the warehouse is simplified, and the problem of low collection efficiency in the existing technology is solved, and more efficient material boxes position adjustment is achieved.
Patent Information
- Application Number
- CN202411390335.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-09-30
AI Technical Summary
In the prior art, the complex reversing process of the material box AGV in the warehouse leads to inefficient collection efficiency, especially when all storage locations are placed with the material box or the target storage location is occupied.
The robot cargo-tipping method is adopted, and the server is used to coordinate the lifting and lowering robots and the lurking robots to work together. Through vertical and horizontal handling, the position exchange process of the material box is simplified, the complex back-up process is avoided, and the efficiency of cargo is improved.
A simpler material box position exchange process has been achieved, which improves cargo cleaning efficiency, reduces cross-regional mobile needs, and improves overall operational efficiency.
Smart Images

Figure CN119190693A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent warehousing technology, and in particular to a robot tallying method, system, server and storage medium. Background Art
[0002] During the operation of the warehouse, in order to meet the warehouse operation requirements or to improve the warehouse operation efficiency, the goods stored in the warehouse will be sorted. For example, in order to facilitate the faster delivery of goods the next time, the goods need to be sorted. Or due to business needs, some goods need to be classified and stored in an area in the warehouse, in which case the goods need to be sorted. For automated warehouses such as material box robots (also called material box AGVs (Automated Guided Vehicles)), personnel cannot enter, so the material box AGVs are used to automatically sort the warehouse.
[0003] In the related art, a material box type AGV takes out a material box loaded with goods placed at a storage location and puts it into a backpack placed on the material box type AGV. The material box type AGV carries the material box to another storage location and puts the material box into another storage location. However, if there are material boxes placed at all storage locations in the warehouse, or the storage location to which the material box needs to be moved is occupied, the material box type AGV needs to go through a more complicated unloading process to achieve the exchange of material box positions, which reduces the efficiency of sorting. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a robot tallying method, system, server and storage medium to improve the tallying efficiency. The specific technical solution is as follows:
[0005] In a first aspect, in order to achieve the above-mentioned purpose, an embodiment of the present application provides a robot tallying method, the method comprising: obtaining a tallying task of a target material box in a warehouse; wherein the tallying task is to move the target material box from a first storage position in a first shelf to a second storage position in a second shelf; according to the first storage position, determining a first cache position of the target material box, and controlling a first robot to move the target material box from the first storage position to the first cache position; wherein the first cache position belongs to a first cache area in the same column as the first shelf; the first robot is used to move the material box in a vertical direction; according to the second storage position and the first cache position, determining a second cache position of the target material box, and controlling a second robot to move the target material box from the first cache position to the second cache position; wherein the second cache position belongs to a 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 move the material box in a horizontal direction; controlling a third robot to move the target material box from the second cache position to the second storage position; wherein the third robot is used to move the material box in a vertical direction.
[0006] Optionally, determining a first cache position of the target box based on the first storage position, and controlling the first robot to move the target box from the first storage position to the first cache position, includes: determining a first cache area in the warehouse that is in the same column as the first shelf; from the first cache area, determining an idle cache position with the shortest distance to the first storage position as the first cache position; and controlling the first robot to move the target box from the first storage position to the first cache position.
[0007] Optionally, the warehouse includes multiple layers of work platforms; each layer of the 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 in the multiple layers of the work platform whose projected areas overlap on a horizontal plane are in the same row;
[0008] The determining of the first cache area in the warehouse that is in the same column as the first shelf includes: determining a cache area in the first shelf, a cache area in an upper shelf in the same column as the first shelf, and a cache area in a lower shelf in the same column as the first shelf, to obtain multiple candidate cache areas of the first shelf; for each candidate cache area, counting the number of transfer subtasks performed in the horizontal direction by the second robot in each cache area on the same layer of the candidate cache area as a first number; wherein the transfer subtask in the horizontal direction includes: a subtask of moving material boxes between cache areas; determining the cache area with the smallest first number corresponding to each candidate cache area as the first cache area.
[0009] Optionally, before determining, from the first cache area, an idle cache position with the shortest distance from the first storage position as the first cache position, the method further comprises: generating, as the first subtask, a transfer subtask of moving the target material box from the first storage position to the first cache area; and determining, from the transfer subtasks to be executed in the vertical direction, a transfer subtask with the highest priority; wherein the transfer subtasks in the vertical direction include: a subtask of moving the material box from the storage position to the cache area, and a subtask of moving the material box from the cache area to the storage position;
[0010] The step of determining, from the first cache area, an idle cache position with the shortest distance from the first storage position as the first cache position comprises: when the transport subtask with the highest priority in the vertical direction is determined to be the first subtask, determining whether the number of idle cache positions in the first cache area is greater than a second number; if the number of idle cache positions in the first cache area is greater than the second number, determining, from the first cache area, an idle cache position with the shortest distance from the first storage position as the first cache position;
[0011] The method also includes: if the number of free cache locations in the first cache area is less than the second number, lowering the priority of the first subtask, and controlling the first robot to perform other transport subtasks in the vertical direction except the first subtask.
[0012] Optionally, controlling the first robot to move the target material box from the first storage position to the first cache position includes: determining, from among the robots used to move the material boxes in the vertical direction, a robot with the lowest time cost for performing the first subtask, as the first robot, and controlling the first robot to move the target material box from the first storage position to the first cache position.
[0013] Optionally, the second cache position of the target box is determined based on the second storage position and the first cache position, and the second robot is controlled to move the target box from the first cache position to the second cache position, including: 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; from the second cache area, determining an idle cache position with the shortest distance from the first cache position as the second cache position; and controlling the second robot to move the target box from the first cache position to the second cache position.
[0014] Optionally, before determining, from the second cache area, an idle cache position with the shortest distance from the first cache position as the second cache position, the method further comprises: generating, as the second subtask, a transfer subtask of transporting the target material box from the first cache position to the second cache area; and determining, from the transfer subtasks to be executed in the horizontal direction, a transfer subtask with the highest priority; wherein the transfer subtasks in the horizontal direction include: a subtask of transporting material boxes between cache areas;
[0015] The step of determining, from the second cache area, an idle cache position with the shortest distance from the first cache position as the second cache position comprises: when the transport subtask with the highest priority in the horizontal direction is determined to be the second subtask, determining whether the number of idle cache positions in the second cache area is greater than a second number; if the number of idle cache positions in the second cache area is greater than the second number, determining, from the second cache area, an idle cache position with the shortest distance from the first cache position as the second cache position;
[0016] The method also includes: if the number of free cache locations in the second cache area is less than a second number, lowering the priority of the second subtask, and controlling the second robot to perform other transport subtasks in the horizontal direction except the second subtask.
[0017] Optionally, controlling the second robot to move the target material box from the first cache position to the second cache position includes: determining, from among the robots used to move the material box in the horizontal direction, a robot with the lowest time cost for performing the second subtask, as the second robot, and controlling the second robot to move the target material box from the first cache position to the second cache position.
[0018] Optionally, controlling the third robot to move the target material box from the second cache position to the second storage position includes: generating a transfer subtask of moving the target material box from the second cache position to the second storage position as a third 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 of moving the material box from the storage position to the cache area, and a subtask of moving the material box from the cache area to the storage position; when the transfer subtask with the highest priority in the vertical direction is determined to be the third subtask, controlling the third robot to move the target material box from the second cache position to the second storage position.
[0019] Optionally, when the determined transfer subtask with the highest priority in the vertical direction is the third subtask, controlling the third robot to move the target material box from the second cache position to the second storage position includes: when the determined transfer subtask with the highest priority in the vertical direction is the third subtask, 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 cache position to the second storage position;
[0020] 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 perform other transfer subtasks in the vertical direction except the third subtask.
[0021] Optionally, controlling the third robot to move the target material box from the second cache position to the second storage position includes: determining, from among the robots used to move the material box in the vertical direction, a robot with the lowest time cost for performing the third subtask, as the third robot, and controlling the third robot to move the target material box from the second cache position to the second storage position.
[0022] Optionally, the method further includes: upon receiving a first feedback message sent by the first robot indicating that the material box has been taken out from the storage location, recording the storage location as an idle storage location; upon receiving a second feedback message sent by the second robot indicating that the material box has been taken out from the cache location, recording the cache location as an idle cache location.
[0023] Optionally, after determining the first cache position of the target material box according to the first storage position, the method further comprises: recording that the first cache position is in an occupied state;
[0024] After determining the second cache position of the target material box according to the second storage position and the first cache position, the method further includes: recording that the second cache position is in an occupied state.
[0025] Optionally, the first robot and the third robot are lifting robots; the second robot is a lurking robot; the lurking robot comprises a controller, a moving chassis and a lifting platform; the lifting platform is arranged on the moving chassis; the lifting platform is used to place a material box; the controller controls the moving chassis to move in a horizontal direction to drive the lifting platform to move in a horizontal direction;
[0026] The lifting robot comprises: a controller, a moving chassis, a support frame and a bearing member; the support frame is arranged on the moving chassis; the bearing member is connected to one side of the support frame through a driving component; the controller controls the driving component to move along the supporting frame in a vertical direction to drive the bearing member to move in a vertical direction; and the controller controls the driving component to move in a horizontal direction to drive the bearing member to move in a horizontal direction;
[0027] or,
[0028] The lifting robot includes: a controller, a moving chassis, a support frame and a bearing member; the support frame is arranged on the moving chassis; the support frame includes two columns arranged in parallel along the vertical direction, and a plurality of partitions are arranged in parallel along the horizontal direction between the two columns to form a plurality of storage spaces between the two columns; the plurality of storage spaces are used to place material boxes; the bearing member is connected to one side of the support frame through a driving assembly; the controller controls the driving assembly to move along the support frame in the vertical direction to drive the bearing member to move in the vertical direction; and the controller controls the driving assembly to move in the horizontal direction to drive the bearing member to move in the horizontal direction.
[0029] In a second aspect, in order to achieve the above-mentioned purpose, an embodiment of the present application provides a robot tallying system, the system comprising: a server, a lifting robot and a lurking robot; the lifting robot is used to carry the material box in the vertical direction; the lurking robot is used to carry the material box in the horizontal direction;
[0030] The warehouse for tallying goods includes multiple layers of work platforms; each layer of the 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 projection areas on the horizontal plane in the multiple layers of the work platform are in the same row; shelves in the same row of the multiple layers of the work platform share at least one lifting robot, and the lifting robot has a vertical extension height that supports picking up goods from the topmost shelf in the topmost work platform;
[0031] The server is used to obtain a tally task of a target material box in the warehouse; wherein the tally task is to move the target material box from a first storage position in a first shelf to a second storage position in a second shelf; determine a first cache position of the target material box according to the first storage position, and send the first storage position and the first cache position to the first lifting robot; wherein the first cache position belongs to a first cache area in the same column as the first shelf;
[0032] The first lifting robot is used to move the target material box from the first storage position to the first cache position;
[0033] The server is further configured to determine a second cache position of the target material box according to the second storage position and the first cache position, and send the first cache position and the second cache position to the latent robot; wherein the second cache position belongs to a second cache area in the same column as the second shelf and on the same layer as the first cache area;
[0034] The lurking robot is used to move the target material box from the first cache position to the second cache position;
[0035] The server is further used to send the second cache position and the second storage position to the second lifting robot;
[0036] The second lifting robot is used to move the target material box from the second buffer position to the second storage position.
[0037] The present application also provides a server, including:
[0038] Memory, used to store computer programs;
[0039] The processor is used to implement any of the above-mentioned robot tallying methods when executing the program stored in the memory.
[0040] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above-mentioned robotic tallying methods is implemented.
[0041] An embodiment of the present application also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the above-described robotic tallying methods.
[0042] Beneficial effects of the embodiments of the present application:
[0043] A robot sorting method, system, server and storage medium provided in an embodiment of the present application, the method comprising: obtaining a sorting task for a target material box in a warehouse; the sorting task is to move the target material box from a first storage position in a first shelf to a second storage position in a second shelf; according to the first storage position, determine a first cache position of the target material box, and control a first robot to move the target material box from the first storage position to the first cache position; the first cache position belongs to a first cache area in the same column as the first shelf; the first robot is used to move the material box in a vertical direction; according to the second storage position and the first cache position, determine a second cache position of the target material box, and control a second robot to move the target material box from the first cache position to the second cache position; the second cache position belongs to a 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 move the material box in a horizontal direction; control a third robot to move the target material box from the second cache position to the second storage position; the third robot is used to move the material box in a vertical direction.
[0044] Based on the above processing, a cache position is set in the warehouse, the first robot first moves the target material box from the storage position to the cache position, and then the second robot moves the target material box between the cache positions, and finally the third robot moves the target material box to the storage position. The whole process is more concise, and there is no need to perform a complicated unloading process, which can improve the efficiency of tallying. In addition, the first robot, the second robot and the third robot work together. The first robot and the third robot are responsible for moving the material box between the storage position and the cache position in the vertical direction, and the second robot is responsible for moving the material box between the cache positions in the horizontal direction. The first robot and the third robot do not need to move across regions when moving the material box, which can further improve the efficiency of tallying.
[0045] Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can also be obtained based on these drawings.
[0047] Figure 1 A flow chart of a first robot tallying method provided in an embodiment of the present application;
[0048] Figure 2 A structural diagram of a warehouse provided in an embodiment of the present application;
[0049] Figure 3 A structural diagram of a shelf provided in an embodiment of the present application
[0050] Figure 4 A flow chart of a second robot tallying method provided in an embodiment of the present application;
[0051] Figure 5 A schematic diagram of the first tally scenario provided in an embodiment of the present application;
[0052] Figure 6 A flowchart of a third robot tallying method provided in an embodiment of the present application;
[0053] Figure 7 A schematic diagram of a second tally scenario provided in an embodiment of the present application;
[0054] Figure 8 A flowchart of a fourth robot tallying method provided in an embodiment of the present application;
[0055] Fig. 9 A flowchart of a fifth robot tallying method provided in an embodiment of the present application;
[0056] Fig.10 A schematic diagram of a third tally scenario provided in an embodiment of the present application;
[0057] Fig.11 A flowchart of a method for executing a vertical transfer subtask provided in an embodiment of the present application;
[0058] Fig.12 A flowchart of a method for executing a horizontal transport subtask provided in an embodiment of the present application;
[0059] Fig.13 A top view of a warehouse provided in an embodiment of the present application;
[0060] Fig.14 A structural diagram of a server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0061] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field based on the present application belong to the scope of protection of the present application.
[0062] In the related art, if all storage locations in the warehouse are filled with material boxes, or if the storage location to which the material boxes need to be transported is occupied, the material box AGV needs to go through a more complicated unloading process to achieve the exchange of cargo positions, which reduces the efficiency of sorting.
[0063] In order to solve the above problems, the embodiment of the present application provides a robot tallying method, which is applied to a server. The server can be a server. The server communicates with the lifting robot and the lurking robot respectively. The server controls the lifting robot and the lurking robot to work together according to the method provided in the embodiment of the present application, so as to realize tallying of the warehouse and improve the efficiency of tallying.
[0064] See also Figure 1 , Figure 1 A flowchart of a robot tallying method provided in an embodiment of the present application, the method may include the following steps:
[0065] S101: Obtaining the tallying task of the target material box in the warehouse.
[0066] The tallying task is to move the target material box from a first storage position in a first shelf to a second storage position in a second shelf.
[0067] S102: Determine a first cache position of a target material box according to the first storage position, and control the first robot to move the target material box from the first storage position to the first cache position.
[0068] Among them, the first cache position belongs to the first cache area in the same column as the first shelf; the first robot is used to move the material box in the vertical direction.
[0069] S103: Determine a second cache position of the target material box according to the second storage position and the first cache position, and control the second robot to move the target material box from the first cache position to the second cache position.
[0070] Among them, the second cache position belongs to the second cache area which is in the same column as the second shelf and in the same layer as the first cache area; the second robot is used to move the material box in the horizontal direction.
[0071] S104: Control the third robot to move the target material box from the second cache position to the second storage position.
[0072] Among them, the third robot is used to carry the material box in the vertical direction.
[0073] Based on the tallying method provided in the embodiment of the present application, a cache position is set in the warehouse, the first robot first moves the target material box from the storage position to the cache position, and then the second robot moves the target material box between the cache positions, and finally the third robot moves the target material box to the storage position. The whole process is more concise, and there is no need to perform a complicated unloading process, which can improve the tallying efficiency. In addition, the first robot, the second robot and the third robot work together, the first robot and the third robot are responsible for moving the material box between the storage position and the cache position in the vertical direction, and the second robot is responsible for moving the material box between the cache positions in the horizontal direction. The first robot and the third robot do not need to move across regions when moving the material box, which can further improve the tallying efficiency.
[0074] For step S101, when the tallying warehouse includes a working platform, the working platform includes at least one storage area; and the at least one storage area includes a plurality of shelves arranged in multiple rows and columns, each shelf includes multiple layers of storage positions, and a buffer area, and the buffer area is located at the bottom layer of the shelf.
[0075] When the warehouse for tallying includes multiple layers of work platforms, each layer of the work platform includes at least one storage area; at least one storage area includes at least one shelf; each shelf includes a buffer area, and the buffer area is located at the bottom layer of the shelf; the shelves in each storage area are arranged in multiple rows and columns. The shelves with overlapping projection areas on the horizontal plane in the multiple layers of the work platform are in the same column; the shelves in the same column of the multiple layers of the work platform share at least one lifting robot, and the vertical extension height of the lifting robot supports picking up goods from the top layer of the shelf in the top layer of the work platform.
[0076] In some embodiments, for two adjacent working platforms, the ceiling of the working platform on the bottom layer includes an opening, which is used to connect the working platform on the bottom layer with the working platform on the upper layer, and the lifting robot extends to the working platforms on different layers through the opening.
[0077] For example, see Figure 2 The warehouse includes two layers of work platforms, namely work platform 201 and work platform 202; each layer of work platform includes multiple storage areas. For example, work platform 201 includes storage area 203 and storage area 204. Each storage area includes multiple layers of shelves. For example, storage area 204 includes shelf 205, and shelf 205 is multi-layered. Each layer includes multiple storage locations 206. Material boxes 207 are placed on storage locations 206. A buffer area 208 is set at the bottom layer of each shelf 205, and the buffer area 208 includes multiple buffer locations 209.
[0078] The shelves whose projected areas on the horizontal plane overlap in the multi-layer work platform are in the same row. For example, if the projected areas on the horizontal plane of shelf 205 in the work platform 201 overlap with those of shelf 210 in the work platform 202, then shelf 205 and shelf 210 belong to the same row. Shelf 205 and shelf 210 share a lifting robot 212, that is, the lifting robot 212 is used to carry the material boxes in shelf 205 and shelf 210 in the vertical direction. In addition, the vertical extension height of the lifting robot 212 supports picking up goods from the top layer of the shelf of the topmost work platform (i.e., the work platform 201), that is, the vertical extension height of the lifting robot 212 is able to pick up goods from the top layer of shelf 205.
[0079] Furthermore, the ceiling of the working platform 202 includes an opening 211. The opening 211 is used to connect the working platform 202 and the working platform 201. The lifting robot 212 extends into the working platform 201 through the opening 211 and takes and places material boxes in the shelves of the working platform 201.
[0080] Figure 2 Also shown is a lurking robot 213, which is used to carry the material boxes in the buffer area of the same working platform in the horizontal direction.
[0081] See also Figure 3 , 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 includes multiple layers, and each layer includes multiple storage locations 302. A material box 303 is placed on the storage location 302. The bottom layer of the shelf is a buffer area 301 for temporarily placing material boxes, and a plurality of buffer locations ( Figure 3 not shown). Figure 3 Also shown in FIG. 3 is a lurking robot 304 .
[0082] Based on business needs, the server generates a task set for tallying the boxes on each shelf, and the task set includes multiple tallying tasks. A tallying task is to move a box from a storage location on a shelf to a storage location on another shelf. For example, in order to facilitate the outbound delivery of boxes loaded with goods that need to be shipped out, the box is moved from the current shelf to a shelf that is closer to the warehouse exit. Alternatively, when boxes loaded with the same type of goods are placed more dispersedly, these boxes are moved to the same shelf. Accordingly, the server generates tallying tasks for these boxes.
[0083] The server obtains the tallying task of the target material box from the task set and obtains the corresponding task information. The task information includes: the identification of the first shelf, the identification of the first storage location, the identification of the second shelf and the identification of the second storage location.
[0084] When the warehouse contains one work platform, the shelf is identified by: the row and column to which the shelf belongs. When the warehouse contains multiple work platforms, the shelf is identified by: the work platform to which the shelf belongs, the row and column to which the shelf belongs in the work platform. The storage location is identified by: the layer to which the storage location belongs in the shelf, and the row and column to which the storage location belongs in the layer. Alternatively, the storage location is identified by: the layer to which the storage location belongs in the shelf, and the coordinates of the center point of the storage location in the layer.
[0085] With respect to step S102, the first robot is a robot capable of carrying material boxes in a vertical direction. For example, the first robot may be a stacker, a hanging robot, a shelf-climbing robot, a lifting robot, and the like.
[0086] In some embodiments, the lifting robot includes: a controller, a motion chassis, a support frame and a bearing member. The controller is used to communicate with the server and control the lifting robot to move.
[0087] The support frame is arranged on the moving chassis; the bearing member is connected to one side of the support frame through the driving assembly; the controller controls the driving assembly to move along the support frame in the vertical direction to drive the bearing member to move in the vertical direction (such as rising or falling) to enable the bearing member of the lifting robot to reach the height of different shelves; and the controller controls the driving assembly to move in the horizontal direction to drive the bearing member to move in the horizontal direction to realize picking up or putting goods from shelves at different heights, that is, to realize the transportation of material boxes in the vertical direction.
[0088] The bearing member in the lifting robot realizes the conveyance of the material box in the vertical direction, and there is no need to set a backpack for storing the material box on the lifting robot, thereby reducing the cost of the lifting robot.
[0089] In some embodiments, the lifting robot includes: a controller, a motion chassis, a support frame and a bearing; the controller is used to communicate with the server and control the lifting robot to move.
[0090] The support frame is arranged on the moving chassis; the support frame includes two columns arranged in parallel along the vertical direction, and a plurality of partitions are arranged in parallel along the horizontal direction between the two columns to form a plurality of storage spaces between the two columns; the plurality of storage spaces formed by the columns and the partitions are used to place the material boxes. The bearing member is connected to one side of the support frame through a driving assembly; the controller controls the driving assembly to move along the support frame in the vertical direction to drive the bearing member to move in the vertical direction (such as rising or falling) to enable the bearing member of the lifting robot to reach the height of different shelves; and the controller controls the driving assembly to move in the horizontal direction to drive the bearing member to move in the horizontal direction to realize picking up or placing goods from shelves at different heights, that is, to realize the transport of material boxes in the vertical direction.
[0091] The bearing parts in the lifting robot can not only carry the material boxes in the vertical direction, but also store the material boxes in multiple storage spaces in the support frame, thereby improving the efficiency of sorting.
[0092] The second robot is a robot capable of carrying a material box in the horizontal direction. For example, the second robot may be a lurking AGV (i.e., a lurking robot) and a backpack AGV. The lurking robot includes a controller, a motion chassis, and a lifting platform; the controller is used to communicate with the server and control the lurking robot to move. The lifting platform is arranged on the motion chassis; the lifting platform is used to place the material box; the controller controls the motion chassis to move in the horizontal direction to drive the lifting platform to move in the horizontal direction, thereby carrying the material box in the horizontal direction.
[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 transferring the material boxes up and down, and there is no need to transfer them across areas and lanes in the warehouse. In this way, the backpack on the lifting robot can be eliminated, reducing the cost of the equipment itself. The lurking robot is responsible for transferring across areas and lanes, which can give full play to the advantage of the lurking robot's fast moving speed. The operation mode of coordinating tallying by large and small vehicles (i.e., lifting robots and lurking robots) is adopted, which improves the overall execution efficiency of tallying tasks.
[0094] When the target material box is moved from the first storage position to the second storage position, since the first robot only moves the material box in the vertical direction, the server needs to first control the first robot to move the target material box to the buffer area. Accordingly, the server needs to determine the first buffer position in the first buffer area to which the target material box needs to be moved based on the first storage position.
[0095] In some embodiments, Figure 1 Based on Figure 4 , step S102 may include the following steps:
[0096] S1021: Determine a first buffer area in the warehouse that is in the same column as the first shelf.
[0097] S1022: Determine, from the first cache area, an idle cache position with the shortest distance from the first storage position as the first cache position.
[0098] S1023: Control the first robot to move the target material box from the first storage position to the first cache position.
[0099] In one implementation, the warehouse includes a work platform. The first buffer area in the same row as the first shelf is the buffer area at the bottom layer of the first shelf. That is, the server determines the buffer area at the bottom layer of the first shelf as the first buffer area of the target material box, and determines the idle buffer position closest to the first storage position from the first buffer area as the first buffer position.
[0100] For example, see 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 location; the label "1" represents the buffer area 1 in shelf 1. a, b and c in shelf 2 represent the second storage location; the label "2" represents the buffer area 2 in shelf 2. The tallying tasks include: Task 1 to move the material box 1 from position A to position a, Task 2 to move the material box 2 from position B to position b, and Task 3 to move the material box 3 from position C to position c.
[0101] The following takes Task 1 as an example for explanation. The implementation of Task 1 can be referred to for other tasks. Since the first robot only carries boxes in the vertical direction, it is necessary to carry Box 1 from Position A to Buffer Area 1 first. The server determines Buffer Area 1 in Shelf 1 as the first buffer area for Box 1, and determines the first buffer position for Box 1 from Buffer Area 1.
[0102] In another implementation, Figure 4 Based on Figure 6 , step S1021 may include the following steps:
[0103] S10211: Determine a cache area in a first shelf, a cache area in an upper shelf in the same column as the first shelf, and a cache area in a lower shelf in the same column as the first shelf, and obtain multiple candidate cache areas of the first shelf.
[0104] S10212: For each candidate cache area, count the number of transfer subtasks performed by the second robot in the horizontal direction in each cache area on the same layer of the candidate cache area as the first number.
[0105] Among them, the horizontal transfer subtask includes: the subtask of moving the material boxes between the buffer areas.
[0106] S10213: Determine the first cache area with the smallest corresponding number in each candidate cache area as the first cache area.
[0107] When the warehouse is multi-layered, 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, and the candidate cache area includes: 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 layer as the first shelf.
[0108] For example, see 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 represents the first storage position. a in shelf 5 represents the second storage position. The numbers "1" to "6" in shelf 1 to shelf 6 represent cache areas 1 to 6 in the corresponding shelves. The tally task is to move the material box from position A to position a. Correspondingly, the alternative cache areas include: cache area 1 in shelf 1 of the bottom working platform, and cache area 4 in the upper shelf (i.e., shelf 4) in the same column as shelf 1 in the top working platform.
[0109] The server will execute multiple tallying tasks at the same time, that is, if there are multiple boxes that need to be moved, then there will be multiple transfer subtasks that the latent robots need to perform in the horizontal direction in each buffer area of a layer. The horizontal transfer subtask refers to the transportation of boxes between buffer areas, that is, moving boxes from one buffer area to another. When there are many transfer subtasks performed by the second robot in the horizontal direction in each buffer area in a layer, there are many moving latent robots in this layer. If the target box is moved to the buffer area of this layer, the subsequent second robot will need to avoid other latent robots performing transfer subtasks in the horizontal direction when carrying the target box between buffer areas, which will increase the complexity of the second robot's execution of the transfer subtask in the horizontal direction and reduce the tallying efficiency.
[0110] In order to improve the efficiency of tallying, for each candidate cache area, the server counts the first number of transfer subtasks performed by the second robot in the horizontal direction in each cache area on the same layer of the candidate cache area. The server determines the candidate cache area with the smallest corresponding first number as the first cache area. There are fewer moving latent robots in the layer where the first cache area is located, which can reduce the complexity of the second robot performing the transfer subtask in the horizontal direction and improve the efficiency of tallying. Then, the server determines the cache position closest to the first storage position from the free cache positions of the first cache area to obtain the first cache position.
[0111] In some embodiments, after determining the first cache position, the method may further include the following steps: recording the first cache position as being in an occupied state.
[0112] After the first cache position is determined, the target material box will be subsequently moved to the first cache position. In order to avoid the first cache position being occupied by other subtasks, which will cause the first subtask to fail to execute, the server records the first cache position as occupied. That is, when there is a material box at the cache position, or when it is the end point of the subtask being executed, the cache position is locked and occupied, that is, recorded as a non-empty state, to further improve the tallying efficiency.
[0113] In some embodiments, before step S1022, the method may further include the following steps: generating a transfer subtask of transporting the target material box from the first storage position 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 subtasks in the vertical direction include: a subtask of transporting the material box from the storage position to the cache area, and a subtask of transporting the material box from the cache area to the storage position.
[0114] Correspondingly, step S1022 may include the following steps: when the transfer subtask with the highest priority 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 from the first cache area an free cache position with the shortest distance to the first storage position as the first cache position.
[0115] After determining the first buffer area, the server generates a first subtask to move the target material box from the first storage position to the first buffer area. The first subtask is a vertical transfer subtask. The vertical transfer subtask includes a subtask to move the material box from the storage position to the buffer area, and a subtask to move the material box from the buffer area to the storage position. When the server simultaneously executes the vertical transfer subtasks of multiple material boxes, the number of free cache positions in the buffer area may not be able to meet the needs of executing each vertical transfer subtask, then the server executes each vertical transfer subtask in sequence according to priority.
[0116] The priority of the transfer subtask is determined based on business needs. For example, if the target container is a container that needs to be shipped out, a higher priority is set for the first subtask. If the target container is a container that needs to be stored in a centralized manner, a lower priority is set for the first subtask.
[0117] The server determines the highest priority transport subtask from the transport subtasks to be executed in the vertical direction. If the priorities of the transport subtasks to be executed in the vertical direction are the same, the distance between the transport subtask to be executed in the vertical direction and the nearest lifting robot is obtained, and the transport subtask with the smallest distance to the nearest lifting robot is determined as the highest priority transport subtask in the vertical direction.
[0118] When the transfer subtask with the highest priority in the vertical direction is the first subtask, if the number of free cache positions in the first cache area is greater than the second number, that is, the number of free cache positions in the first cache area can meet the needs of executing each transfer subtask in the vertical direction, the server determines the free cache position with the shortest distance to the first storage position from the first cache area as the first cache position.
[0119] The second number is set according to business requirements, and different cache areas correspond to different second numbers. For example, the second number is 5% of the total number of cache locations in the cache area, or the second number is 10% of the total number of cache locations in the cache area.
[0120] Based on the above processing, the cache area is configured with a threshold value (i.e., the second number) for too few free cache positions. When the number of free cache positions is not lower than the threshold value, the vertical transfer subtask with the cache positions in the cache area as the task end point can be directly executed without waiting for the first robot to execute other vertical transfer subtasks 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, lowering the priority of the first subtask, and controlling the first robot to perform other transport subtasks in the vertical direction except the first subtask.
[0122] When the transport subtask with the highest priority in the vertical direction is the first subtask, if the number of free cache locations in the first cache area is less than the second number, it indicates that the number of free cache locations in the first cache area cannot meet the needs of executing each transport subtask in the vertical direction, and the server lowers the priority of the first subtask. For example, each transport subtask in the vertical direction has a priority identifier, and the server modifies the priority identifier of the first subtask to a lower priority identifier. Then, the server controls the first robot to execute other transport subtasks in the vertical direction except the first subtask.
[0123] In one implementation, the server controls the first robot to first perform a vertical transfer subtask with other buffer areas as the task endpoint, or first perform a vertical transfer subtask of moving the material box from the first buffer area to the storage location. The task endpoint of the subtask is: the location to which the subtask moves the material box.
[0124] In another implementation, the server re-determines the highest priority transfer subtask from the transfer subtasks to be executed in the vertical direction, and if the transfer subtask determined this time is to transport the material box from the storage position to the buffer area, and the free cache positions in the buffer area at the task end are greater than the second number, the first robot is controlled to execute the determined transfer subtask. If the transfer subtask determined this time is to transport the material box from the storage position to the buffer area, and the free cache positions in the buffer area at the task end are less than the second number, the server re-determines the highest priority transfer subtask from the transfer subtasks to be executed in the vertical direction, and so on, until each transfer subtask in the vertical direction is completed.
[0125] Based on the above processing, the cache area is configured with a threshold value (i.e., the second number) for too few free cache positions. When the number of free cache positions is lower than the threshold value, the priority of the transfer subtask in the vertical direction with the cache area as the task end point 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 cache area to the storage location is executed first. The cache positions can be managed and controlled to avoid task deadlock caused by full cache positions, thereby further improving the tallying efficiency.
[0126] In some embodiments, step S1023 includes the following steps: determining, from among the robots used to transport the material box in the vertical direction, a robot with the lowest time cost for performing the first subtask as the first robot, and controlling the first robot to transport the target material box from the first storage position to the first cache position.
[0127] The time cost of executing the first subtask refers to the time taken to move the target container from the first storage location to the first cache location. The lowest time cost of executing the first subtask refers to the shortest time taken to move the target container from the first storage location to the first cache location.
[0128] There are multiple lifting robots in the warehouse, and the server determines the lifting robot closest to the first storage position from the idle lifting robots as the first robot with the lowest time cost for executing the first subtask. Alternatively, the server calculates the estimated time for each idle lifting robot to move the target material box from the first storage position to the first cache position based on the positions of the idle lifting robots, the first storage position, and the first cache position, and determines the lifting robot with the shortest estimated time as the first robot with the lowest time cost for executing the first subtask.
[0129] Then, the server sends the first storage position and the first cache position to the first robot. The first robot moves to the first shelf, takes out the target material box from the first storage position, and then moves the target material box to the first cache position.
[0130] Based on the above processing, the server determines the first robot that has the lowest time cost for executing the first subtask, which can reduce the time for executing the first subtask and improve the tallying efficiency.
[0131] With respect to step S103, when the target material box is moved from the first storage position to the second storage position, since the first robot has moved the target material box to the first cache position in the first cache area in the same row of the first shelf, it is also necessary to move the target material box from the first cache position to the second cache position in the second cache area in the same row of the second shelf. Accordingly, the server needs to determine the second cache position in the second cache area to which the target material box needs to be moved based on the first cache position and the second storage position.
[0132] In some embodiments, Figure 1 Based on Figure 8 , step S103 may include the following steps:
[0133] S1031: Determine a cache area on the same layer as the first cache area and on the same column as the second shelf to obtain a second cache area.
[0134] S1032: Determine, from the second cache area, an idle cache position that has the shortest distance from the first cache position as the second cache position.
[0135] S1033: Control the second robot to move the target material box from the first cache position to the second cache position.
[0136] The server determines a cache area on the same layer as the first cache area from the multiple cache areas, and then determines a cache area on the same column as the second shelf from the determined cache areas to obtain the second cache area. Alternatively, the server determines a cache area on the same column as the second shelf from the multiple cache areas, and then determines a cache area on the same layer as the first cache area from the determined cache areas to obtain the second cache area. Figure 5 In the embodiment of the present invention, the second cache area is cache area 2. Figure 7 In an embodiment, 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, from the second cache area, an idle cache position with the shortest distance from the first cache position as the second cache position.
[0138] In some embodiments, after determining the second cache location, the method may further include the following steps: recording the second cache location as being in an occupied state.
[0139] After the second cache position is determined, the target material box will be subsequently moved to the second cache position. In order to avoid the second cache position being occupied by other subtasks, which will cause the second subtask to fail to execute, the server records the second cache position as occupied. That is, when there is a material box at the cache position, or when it is the end of the subtask being executed, the cache position is locked and occupied, that is, recorded as a non-empty state, to further improve the tallying efficiency.
[0140] In some embodiments, before step S1032, the method may further include the following steps: generating a transfer subtask to move the target material box from the first cache position to the second cache area as a 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: a subtask for moving the material box between cache areas.
[0141] Correspondingly, step S1032 may include the following steps: when it is determined that the transfer subtask with the highest priority in the horizontal direction is 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 from the second cache area the free cache position with the shortest distance to the first cache position as the second cache position.
[0142] After determining the second buffer area, the server generates a second subtask to move the target container from the first buffer position to the second buffer area. The second subtask is a horizontal transfer subtask. Since the buffer positions in the buffer area are limited, when the server simultaneously executes the horizontal transfer subtasks of multiple containers, the number of free buffer positions in the buffer area may not meet the needs of executing each horizontal transfer subtask. In this case, the server can execute each horizontal transfer subtask in sequence according to priority.
[0143] The priority of the transfer subtask is determined based on business needs. For example, if the target container is a container that needs to be shipped out, a higher priority is set for the second subtask. If the target container is a container that needs to be stored centrally, a lower priority is set for the second subtask.
[0144] The server determines the highest priority transport subtask from the transport subtasks to be executed in the horizontal direction. If the priorities of the transport subtasks to be executed in the horizontal direction are the same, the distances between the transport subtasks to be executed in the horizontal direction and the nearest latent robot are obtained, and the transport subtask with the smallest distance to the nearest latent robot is determined as the highest priority transport subtask.
[0145] When the transfer subtask with the highest priority in the horizontal direction is the second subtask, if the number of free cache positions in the second cache area is greater than the second number, that is, the number of free cache positions in the second cache area can meet the needs of executing each transfer subtask in the horizontal direction, the server determines the free cache position with the shortest distance to the first cache position from the second cache area as the second cache position.
[0146] Based on the above processing, the cache area is configured with a threshold for too few free cache positions (i.e., the second number). When the number of free cache positions is not lower than the threshold, the horizontal transfer subtask with the cache area as the task end point is directly executed without waiting for the second robot to execute other horizontal transfer subtasks first, thereby further improving the tallying efficiency.
[0147] In some embodiments, the method may further include the following steps: if the number of free cache locations in the second cache area is less than the second number, lowering the priority of the second subtask, and controlling the second robot to perform other transport subtasks in the horizontal direction except the second subtask.
[0148] When the transport subtask with the highest priority in the horizontal direction is the second subtask, if the number of free cache locations in the second cache area is less than the second number, it indicates that the number of free cache locations in the second cache area cannot meet the needs of executing each transport subtask in the horizontal direction, and the server lowers the priority of the second subtask. For example, each transport subtask in the horizontal direction has a priority identifier, and 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 other transport subtasks in the horizontal direction except 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 end point, or first execute a horizontal transfer subtask of moving the material box from the second buffer area to other buffer areas.
[0150] In another implementation, the server re-determines the highest priority transport subtask from the transport subtasks to be executed in the horizontal direction, and if the number of free cache positions in the cache area at the task end point of the transport subtask determined this time is greater than the second number, the second robot is controlled to execute the determined subtask. If the number of free cache positions in the cache area at the task end point of the transport subtask determined this time is less than the second number, the server re-determines the highest priority transport subtask from the transport subtasks to be executed in the horizontal direction, and so on, until all transport subtasks in the horizontal direction are executed.
[0151] Based on the above processing, the cache area is configured with a threshold value (i.e., the second number) for too few free cache positions. When the number of free cache positions is lower than the threshold value, the priority of the horizontal transfer subtask with the cache area as the task end point is reduced, and other horizontal transfer subtasks are executed first. For example, the transfer subtask of moving the material box from the cache area to other cache areas is executed first. The cache positions can be managed and controlled to avoid task deadlock caused by full cache positions, thereby further improving the tallying efficiency.
[0152] In some embodiments, step S1033 includes the following steps: determining, from among the robots used to transport the material box in the horizontal direction, a robot with the lowest time cost to perform the second subtask as the second robot, and controlling the second robot to transport the target material box from the first cache position to the second cache position.
[0153] The time cost of executing the second subtask refers to the time taken to move the target container from the first cache position to the second cache position. The lowest time cost of executing the second subtask refers to the shortest time taken to move the target container from the first cache position to the second cache position.
[0154] There are multiple latent robots in the warehouse, and the server determines the latent robot closest to the first cache position from the idle latent robots as the second robot with the lowest time cost for executing the second subtask. Alternatively, the server calculates the estimated time for each idle latent robot to move the target material box from the first cache position to the second cache position based on the positions of the idle latent robots, the first cache position, and the second cache position, and determines the latent robot with the shortest estimated time as the second robot with the lowest time cost for executing 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, takes out the target material box from the first cache position, and then moves the target material box 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 time for executing the second subtask and improve the tallying efficiency.
[0157] With respect to step S104, after the target material box is transported to the second cache position, the server may control the third robot to transport the target material box from the second cache position to the second storage position.
[0158] In some embodiments, Figure 1 Based on Fig. 9 , step S104 may include the following steps:
[0159] S1041: Generate a transfer subtask of moving the target material box from the second cache position to the second storage position as the third subtask.
[0160] S1042: Determine the transfer subtask with the highest priority from the transfer subtasks to be executed in the vertical direction.
[0161] The vertical transfer subtask includes: a subtask of moving the material box from the storage location to the buffer area, and a subtask of moving the material box from the buffer area to the storage location.
[0162] S1043: When it is determined that the transfer subtask with the highest priority in the vertical direction is the third subtask, control the third robot to move the target material box from the second cache position to the second storage position.
[0163] After the target material box is moved to the second cache position, the server generates a third subtask of moving the target material box from the second cache position to the second storage position. The third subtask is a vertical transfer subtask. Due to the limited number of lifting robots, when the server simultaneously executes multiple vertical transfer subtasks of material boxes, the number of lifting robots may not meet the needs of executing each vertical transfer subtask. The server can execute each vertical transfer subtask in sequence according to priority.
[0164] The server determines the highest priority transfer subtask from the transfer subtasks to be executed in the vertical direction. 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 material box from the second cache position to the second storage position.
[0165] In some embodiments, step S1043 may include the following steps: when the transport subtask with the highest priority in the vertical direction is determined to be the third subtask, determining whether a material box is placed in the second storage position. If a material box is not placed in the second storage position, controlling the third robot to move the target material box from the second cache position to the second storage position.
[0166] Correspondingly, after step S1042, the method may further include the following steps: if a material box is placed in the second storage location, lowering the priority of the third subtask, and controlling the third robot to perform other transfer subtasks in the vertical direction except the third subtask.
[0167] Before controlling the third robot to move the target material box from the second cache position to the second storage position, the server may detect whether a material box is placed in the second storage position. If no material box is placed in the second storage position, the third robot is controlled to move the target material box from the second cache position to the second storage position. If a material box is placed in the second storage position, the target material box cannot be moved to the second storage position, and the server may wait until the material box placed in the second storage position is taken away before executing the third subtask. The server may lower the priority of the third subtask and control the third robot to execute other transfer subtasks in the vertical direction except the third subtask.
[0168] In one implementation, the server controls the third robot to first perform a vertical transfer subtask with other storage locations as the task end point, or first perform a vertical transfer subtask of moving the material box from the second storage location to the buffer area.
[0169] In another implementation, the server re-determines the highest priority transfer subtask from the transfer subtasks to be executed in the vertical direction. If the transfer subtask determined this time is to move the material box from the buffer area to the storage location, and there is no material box placed at the storage location at the end of the task, the third robot is controlled to execute the determined subtask. If the transfer subtask determined this time is to move the material box from the buffer area to the storage location, and there is a material box placed at the storage location at the end of the task, the server re-determines the highest priority transfer subtask from the transfer subtasks to be executed in the vertical direction, and so on, until all the transfer subtasks in the vertical direction are executed.
[0170] For example, see Fig.10 , the lifting robot is the first robot; the lurking robot is the second robot. The numbers "1" to "3" in shelves 1 to 3 represent buffer areas 1 to 3 in the corresponding shelves. The tally tasks include: Task 1 to move material box 1 from position A to position B, Task 2 to move material box 2 from position B to position C, and Task 3 to move material box 3 from position C to position A.
[0171] Task 1 can be divided into: subtask 11 of moving material box 1 from position A to buffer area 1, subtask 12 of moving material box 1 from buffer area 1 to buffer area 2, and subtask 13 of moving material box 1 from buffer area 2 to position B.
[0172] After controlling the second robot to perform subtask 12, the server needs to control the third robot to perform subtask 13. However, there is a material box placed at position B. In this case, the server may not perform subtask 13 first, but lower the priority of subtask 13, and first move the material box placed at position B to cache area 2, so that position B is idle, and then perform subtask 13.
[0173] Based on the above processing, when the storage location to which the material box needs to be transported is idle, the transfer subtask with the storage location as the task end point can be directly executed without waiting for the third robot to execute other transfer subtasks in the vertical direction first, further improving the efficiency of tallying. When the cache location to which the material box needs to be transported is occupied, the priority of the transfer subtask with the storage location as the task end point is reduced, and other transfer subtasks in the vertical direction are executed first. For example, the transfer subtask of transporting the material box from the storage location to the cache area is executed first, and the position conversion of the material box in the warehouse is realized by freeing up the free storage location in the cache location, simplifying the task execution logic in complex tallying scenarios, and further improving the efficiency of tallying.
[0174] In some embodiments, step S1043 includes the following steps: determining, from among the robots used to transport the material box in the vertical direction, a robot with the lowest time cost for performing the third subtask as the third robot, and controlling the third robot to transport the target material box from the second cache position to the second storage position.
[0175] The time cost of executing the third subtask refers to the time taken to move the target material box from the second cache position to the second storage position. The lowest time cost of executing the third subtask refers to the shortest time taken to move the target material box from the second cache position to the second storage position.
[0176] There are multiple lifting robots in the warehouse, and the server determines the lifting robot closest to the second cache position from the idle lifting robots as the third robot with the lowest time cost for executing the third subtask. Alternatively, the server calculates the estimated time for each idle lifting robot to move the target material box from the second cache position to the second storage position based on the positions of the idle lifting robots, the second cache position, and the second storage position, 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 position and the second storage position to the third robot. The third robot moves to the second cache position, takes out the target material box from the second cache position, and then moves the target material box to the second shelf and puts it into the second storage position.
[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 time for executing the third subtask and improve the tallying efficiency.
[0179] In some embodiments, the method may further include the following steps: upon receiving a first feedback message sent by the first robot indicating that the material box has been taken out from the storage location, recording the storage location as an idle storage location. Upon receiving a second feedback message sent by the second robot indicating that the material box has been taken out from the 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 taken the target material box from the first storage location, the server records the first storage location as an idle storage location. Subsequently, other material boxes may be placed in the first storage location.
[0181] When the server receives the second feedback message indicating that the second robot has taken out the target material box from the first cache position, the server records the first cache position as an idle cache position. When the server receives the second feedback message indicating that the second robot has taken out the target material box from the second cache position, the server records the second cache position as an idle cache position. Subsequently, the first cache position and the second cache position can be used to perform other tallying tasks to improve tallying efficiency.
[0182] The following is an explanation of the robot tallying method provided in the embodiments of the present application with reference to examples.
[0183] against Figure 5 In the embodiment, the tallying tasks include: Task 1 of moving container 1 from position A to position a, Task 2 of moving container 2 from position B to position b, and Task 3 of moving container 3 from position C to position c.
[0184] Correspondingly, the tally process is:
[0185] The first robot moves the material box 1 from position A to buffer area 1, the second robot moves the material box 1 from buffer area 1 to buffer area 2, and the third robot moves the material box 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 the C position to the buffer area 1 , the second robot moves the material box 3 from the buffer area 1 to the buffer area 2 , and the third robot moves the material box 3 from the buffer area 2 to the C position.
[0188] against Figure 7 In the embodiment of FIG. 1 , the tallying task is to move the material box from position A to position a. Accordingly, the tallying process is:
[0189] The first robot moves the material box from position A to buffer area 1, the second robot moves the material box from buffer area 1 to buffer area 2, and the third robot moves the material box from buffer area 2 to position a.
[0190] Alternatively, the first robot moves the material box from position A to buffer area 4, the second robot moves the material box from buffer area 4 to buffer area 5, and the third robot moves the material box from buffer area 5 to position a.
[0191] against Fig.10 In the embodiment, the tallying tasks include: Task 1 of moving container 1 from position A to position B, Task 2 of moving container 2 from position B to position C, and Task 3 of moving container 3 from position C to position A.
[0192] Task 1 can be divided into: subtask 11 of moving material box 1 from position A to buffer area 1, subtask 12 of moving material box 1 from buffer area 1 to buffer area 2, and subtask 13 of moving material box 1 from buffer area 2 to position B.
[0193] Task 2 can be divided into: subtask 21 of moving material box 2 from position B to buffer area 2, subtask 22 of moving material box 2 from buffer area 2 to buffer area 3, and subtask 23 of moving material box 2 from buffer area 3 to position C.
[0194] Task 3 can be divided into: subtask 31 of moving material box 3 from position C to buffer area 3, subtask 32 of moving material box 3 from buffer area 3 to buffer area 1, and subtask 33 of moving material box 3 from buffer area 1 to position A.
[0195] Correspondingly, the tally process is:
[0196] The server controls the first robot to perform subtask 11, that is, controls the first robot to move material box 1 from position A to buffer area 1. The server controls the second robot to perform subtask 12, that is, controls the second robot to move material box 1 from buffer area 1 to buffer area 2. However, material box 2 is stored at position B, and the server does not perform subtask 13.
[0197] The server controls the first robot to perform subtask 21, that is, controls the first robot to move the material box 2 from position B to buffer area 2. At this time, position B is an idle storage position, so the server controls the third robot to perform subtask 13, that is, controls the third robot to move the material box 1 from buffer area 2 to position B.
[0198] The server controls the second robot to perform subtask 22, that is, controls the second robot to move the material box 2 from the buffer area 2 to the buffer area 3. However, since the material box 3 is stored at the position C, the server does not perform subtask 23.
[0199] The server controls the first robot to perform subtask 31, that is, controls the first robot to move the material box 3 from position C to buffer area 3. At this time, position C is an idle storage position, so the server controls the third robot to perform subtask 23, that is, controls the third robot to move the material box 2 from buffer area 3 to position C. The server controls the second robot to perform subtask 32, that is, controls the second robot to move the material box 3 from buffer area 3 to buffer area 1. The server controls the third robot to perform subtask 33, that is, controls the third robot to move the material box 3 from buffer area 1 to position A.
[0200] See also Fig.11 , Fig.11 A flowchart of a method for executing a vertical transport subtask provided in an embodiment of the present application.
[0201] S1101: Start.
[0202] S1102: Generate a vertical transfer subtask for the lifting robot to tally goods.
[0203] In the step, after the server obtains the tallying task of the target container, based on the first storage position of the target container, it generates a first subtask for moving the container from the first storage position to the buffer area, and 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 transfer subtask with the highest priority from the transfer subtasks to be executed in the vertical direction.
[0206] S1104: Determine whether the target cache area exceeds the threshold, if yes, execute step S1106, if no, execute step S1105.
[0207] In this step, the target buffer is the buffer of the task end point of the transport subtask with the highest priority in the vertical direction. When the transport subtask with the highest priority in the vertical direction is determined to be the first subtask, the target buffer is the first buffer. It is determined whether the number of free buffer locations in the first buffer exceeds the threshold, that is, it is determined whether the number of free buffer locations in the first buffer is less than the second number.
[0208] S1105: Selecting a cache location with the lowest distance cost in the target cache area as the task end location.
[0209] In this step, the distance cost refers to the distance between the cache position in the first cache area and the first storage position. The task end position refers to the cache position to which the target material box needs to be transported in the first subtask. When the number of free cache positions in the first cache area is not less than the second number, the free cache position with the shortest distance to the first storage position is determined from the first cache area as the first cache position.
[0210] S1106: Lower the priority of the current transfer subtask and give priority to executing 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 lowered and other types of tasks are executed, that is, the transfer subtask with the highest priority in the vertical direction is determined again, and so on, until all the transfer subtasks in the vertical direction are executed.
[0212] S1107: dispatch the lifting robot closest to the task starting point to move the material box from the task starting point to the task end point, and release the task starting point at the same time.
[0213] In this step, the task starting position is the first storage position, and the task ending position is the first cache position. The server determines the lifting robot closest to the first storage position, and controls the lifting robot to move the target material box from the first storage position to the first cache position. When receiving the first feedback message sent by the lifting robot indicating that the target material box in the first storage position has been taken out, the first storage position is recorded as an idle storage position.
[0214] Subsequently, the server controls the lurking robot to move the target material box from the first cache position to the second cache position, and controls the lifting robot (i.e., the third robot) to move the target material box from the second cache position to the second storage position to complete the sorting.
[0215] S1108: End.
[0216] Based on the above processing, the position conversion of the material box in the warehouse is realized by caching the position, and the task execution logic in complex tallying scenarios can be simplified by vacating the free storage position by caching the position. At the same time, the operation mode of collaborative tallying of large and small vehicles (i.e., lifting robots and lurking robots) is adopted to give full play to the respective capabilities of lifting robots and lurking robots, and improve the overall execution efficiency of tallying tasks.
[0217] See also Fig.12 , Fig.12 A flowchart of a method for executing a horizontal transport subtask provided in an embodiment of the present application.
[0218] S1201: Start.
[0219] S1202: Generate a horizontal transfer subtask for the latent robot to tally.
[0220] In the step, after the server obtains the tallying task of the target box and moves the target box to the first cache position, based on the first storage position and the first cache position of the target box, a second subtask is generated for moving the box from the first cache position to the second cache area, and the second subtask is a horizontal transfer subtask.
[0221] S1203: Select the transfer subtask with the highest priority in the horizontal direction.
[0222] In this step, the server determines the transfer subtask with the highest priority from the transfer subtasks to be executed in the horizontal direction.
[0223] S1204: Determine whether the target cache area exceeds the threshold, if yes, execute step S1206, if no, execute step S1205.
[0224] In this step, the target buffer area is the buffer area of the task end point of the transport subtask with the highest priority in the horizontal direction. When the transport subtask with the highest priority in the horizontal direction is determined to be the second subtask, the target buffer area is the second buffer area. It is determined whether the number of free buffer locations in the second buffer area exceeds the threshold, that is, it is determined whether the number of free buffer locations in the second buffer area is less than the second number.
[0225] S1205: Selecting a cache location with the lowest distance cost in the target cache area as the task end location.
[0226] In this step, the distance cost refers to the distance between the cache position in the second cache area and the first cache position. The task end position refers to the cache position to which the target material box needs to be transported in the second subtask. When the number of free cache positions in the second cache area is not less than the second number, the free cache position with the smallest distance from the first cache position is determined from the second cache area as the second cache position.
[0227] S1206: Lower the priority of the current transfer subtask and give priority to executing 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 lowered and other types of tasks are executed, that is, the transfer subtask with the highest priority 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 material box from the task starting point to the task ending point, and release the task starting point at the same time.
[0230] In this step, the task starting position is the first cache position, and the task ending position is the second cache position. The server determines the lurking robot closest to the first cache position, and controls the lurking robot to move the target material box from the first cache position to the second cache position. When receiving the second feedback message sent by the lurking robot indicating that the target material box in the first cache position has been taken out, 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 material box from the second cache position to the second storage position to complete the sorting.
[0232] S1208: End.
[0233] Based on the above processing, the position conversion of the material box in the warehouse is realized by caching the position, and the task execution logic in complex tallying scenarios can be simplified by vacating the free storage position by caching the position. At the same time, the operation mode of collaborative tallying of large and small vehicles (i.e., lifting robots and lurking robots) is adopted to give full play to the respective capabilities of lifting robots and lurking robots, and improve the overall execution efficiency of tallying tasks.
[0234] See also Fig.13 , Fig.13 A top view of a warehouse provided in an embodiment of the present application. 1304 is a pillar of the warehouse. A plurality of 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 a storage position in the shelf 1301 to a buffer area, and to move boxes in the buffer area to a storage position in the shelf 1301. A lurking robot 1303 is used to move boxes between buffer areas.
[0235] Fig.13 In the figure, the dark lines 1305 between the shelves represent the moving path of the lifting robot. The light lines 1306 between the shelves and the light lines 1306 under the shelves represent the moving path of the lurking robot.
[0236] The server controls the lifting robot and the lurking robot to perform sorting according to the following steps.
[0237] Step 1: Generate a set of tasks that require tallying based on business needs.
[0238] In this step, the server generates tally tasks for each material box according to business requirements. The tally task is to move the target material box from the first storage position in the first shelf to the second storage position in the second shelf.
[0239] Step 2: dispatch the lifting robot to move the starting material box to the cache position.
[0240] In this step, the server controls the lifting robot to move the material box from the first storage position to the first cache position of the first cache area.
[0241] Step three, dispatch the lurking robot to move the cache material box to the cache location in the target area.
[0242] In this step, the target area is the second cache area in the same row of the second shelf and the same layer of the first cache area. The server controls the lurking robot to move the material box from the first cache position to the second cache position of the second cache area.
[0243] Step 4: dispatch the lifting robot in the target area to move the material box in the cache location to the target storage location.
[0244] In this step, the server controls the lifting robot to move the material box from the second cache position to the second storage position.
[0245] Based on the above processing, the position conversion of the material box in the warehouse is realized by caching the position, and the task execution logic in complex tallying scenarios can be simplified by vacating the free storage position by caching the position. At the same time, the operation mode of collaborative tallying of large and small vehicles (i.e., lifting robots and lurking robots) is adopted to give full play to the respective capabilities of lifting robots and lurking robots, and improve the overall execution efficiency of tallying tasks.
[0246] and Figure 1 Corresponding to the method embodiment, the embodiment of the present application further provides a robot tallying system, the system comprising: a server, a lifting robot and a lurking robot; the lifting robot is used to carry the material box in the vertical direction; the lurking robot is used to carry the material box in the horizontal direction;
[0247] The warehouse for tallying goods includes multiple layers of work platforms; each layer of the 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 projection areas on the horizontal plane in the multiple layers of the work platform are in the same row; shelves in the same row of the multiple layers of the work platform share at least one lifting robot, and the lifting robot has a vertical extension height that supports picking up goods from the topmost shelf in the topmost work platform;
[0248] The server is used to obtain a tally task of a target material box in the warehouse; wherein the tally task is to move the target material box from a first storage position in a first shelf to a second storage position in a second shelf; determine a first cache position of the target material box according to the first storage position, and send the first storage position and the first cache position to the first lifting robot; wherein the first cache position belongs to a first cache area in the same column as the first shelf;
[0249] The first lifting robot is used to move the target material box from the first storage position to the first cache position;
[0250] The server is further configured to determine a second cache position of the target material box according to the second storage position and the first cache position, and send the first cache position and the second cache position to the latent robot; wherein the second cache position belongs to a second cache area in the same column as the second shelf and on the same layer as the first cache area;
[0251] The lurking robot is used to move the target material box from the first cache position to the second cache position;
[0252] The server is further used to send the second cache position and the second storage position to the second lifting robot;
[0253] The second lifting robot is used to move the target material box from the second buffer position to the second storage position.
[0254] Among them, the first lifting robot in this embodiment is the first robot in the aforementioned embodiment; the second lifting robot is the third robot in the aforementioned embodiment; and the lurking robot is the second robot in the aforementioned embodiment.
[0255] Based on the tallying system provided by the embodiment of the present application, a cache position is set in the warehouse, the first lifting robot first moves the target material box from the storage position to the cache position, and then the lurking robot moves the target material box between the cache positions, and finally the second lifting robot moves the target material box to the storage position. The whole process is more concise, and there is no need to perform a complicated unloading process, which can improve the tallying efficiency. In addition, the lifting robot and the lurking robot work together. The lifting robot is responsible for moving the material box between the storage position and the cache position in the vertical direction, and the lurking robot is responsible for moving the material box between the cache positions in the horizontal direction. The lifting robot does not need to move across regions when moving the material box, which can further improve the tallying efficiency.
[0256] The present application also provides a server, such as Fig.14 As shown, it includes: a memory 1401 for storing computer programs; a processor 1402 for implementing any of the above-mentioned robot tallying methods when executing the programs stored in the memory 1401. In addition, the above-mentioned 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 in the above server can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus. The communication interface is used for communication between the above server and other devices.
[0258] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0259] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0260] In another embodiment provided in the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned robotic tallying methods are implemented.
[0261] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any one of the robot tallying methods in the above embodiments.
[0262] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part 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, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state hard disk (SSD), etc.
[0263] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0264] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system, server, and computer-readable storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0265] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.
Claims
1. A robot tallying method, characterized in that: The method is applied to a server, and the method comprises: Obtaining a tally task for a target material box in a warehouse; wherein the tally task is to move the target material box from a first storage position in a first shelf to a second storage position in a second shelf; According to the first storage position, determine the first cache position of the target material box, and control the first robot to move the target material box from the first storage position to the first cache position; 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 move the material box in the vertical direction; Determine the second cache position of the target material box according to the second storage position and the first cache position, and control the second robot to move the target material 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 in the same layer as the first cache area; the second robot is used to move the material box in the horizontal direction; Control the third robot to move the target material box from the second cache position to the second storage position; wherein the third robot is used to move the material box in a vertical direction.
2. The method according to claim 1, characterized in that The step of determining a first cache position of the target material box according to the first storage position, and controlling the first robot to move the target material box from the first storage position to the first cache position includes: Determine a first buffer area in the warehouse that is in the same row as the first shelf; Determine, from the first cache area, an idle cache position having a minimum distance from the first storage position as a first cache position; The first robot is controlled to move the target material box from the first storage position to the first cache position.
3. The method according to claim 2, characterized in that The warehouse comprises multiple layers of work platforms; each layer of the work platform comprises at least one storage area; the at least one storage area comprises at least one shelf, and each shelf comprises a buffer area; shelves in the multiple layers of the work platform whose projected areas overlap on a horizontal plane are in the same row; The determining of a first buffer area in the warehouse in the same column as the first shelf includes: Determine a cache area in the first shelf, a cache area in an upper shelf in the same column as the first shelf, and a cache area in a lower shelf in the same column as the first shelf, to obtain a plurality of candidate cache areas of the first shelf; For each candidate buffer area, the number of transfer subtasks performed by the second robot in the horizontal direction in each buffer area on the same layer of the candidate buffer area is counted as the first number; wherein the horizontal transfer subtask includes: a subtask of carrying a material box between buffer areas; A cache area with the smallest first number corresponding to each candidate cache area is determined as the first cache area.
4. The method according to claim 2, characterized in that: Before determining, from the first cache area, a free cache position with a minimum distance from the first storage position as the first cache position, the method further includes: generating a transfer subtask of transporting the target container from the first storage location to the first buffer area as a first subtask; Determine the highest priority transfer subtask from the vertical transfer subtasks to be performed; wherein the vertical transfer subtasks include: a subtask of moving the material box from the storage location to the buffer area, and a subtask of moving the material box from the buffer area to the storage location; The step of determining, from the first cache area, a free cache position with a minimum distance from the first storage position as the first cache position includes: When the transport subtask with the highest priority 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, from the first cache area, a free cache location with the shortest distance to the first storage location as the first cache location; The method further comprises: If the number of free cache locations in the first cache area is less than the second number, the priority of the first subtask is lowered, and the first robot is controlled to perform other transport subtasks in the vertical direction except the first subtask.
5. The method according to claim 4, characterized in that The controlling the first robot to move the target material box from the first storage position to the first cache position includes: From among the robots used to transport the material box in the vertical direction, determine the robot with the lowest time cost for executing the first subtask as the first robot, and control the first robot to transport the target material box from the first storage position to the first cache position.
6. The method according to claim 1, characterized in that The method of determining a second cache position of the target material box according to the second storage position and the first cache position, and controlling the second robot to move the target material box from the first cache position to the second cache position, comprises: Determine a cache area on the same layer as the first cache area and on the same column as the second shelf to obtain a second cache area; Determine, from the second cache area, an idle cache position having the shortest distance from the first cache position as the second cache position; The second robot is controlled to move the target material box from the first cache position to the second cache position.
7. The method according to claim 6, characterized in that Before determining, from the second cache area, a free cache position with a minimum distance from the first cache position as the second cache position, the method further includes: generating a transfer subtask of transporting the target container from the first buffer location to the second buffer area as a second subtask; Determine the highest priority transfer subtask from the horizontal transfer subtasks to be performed; wherein the horizontal transfer subtasks include: a subtask for transporting material boxes between buffer areas; The step of determining, from the second cache area, an idle cache position with the shortest distance from the first cache position as the second cache position includes: When it is determined that the transport subtask with the highest priority in the horizontal direction is the second subtask, determining whether the number of free cache locations 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 a second number, determining a free cache position with a minimum distance from the first cache position from the second cache area as a second cache position; The method further comprises: If the number of free cache locations in the second cache area is less than the second number, the priority of the second subtask is lowered, and the second robot is controlled to perform other transport subtasks in the horizontal direction except the second subtask.
8. The method according to claim 7, characterized in that The controlling the second robot to move the target material box from the first cache position to the second cache position includes: From among the robots used to transport the material box in the horizontal direction, determine the robot with the lowest time cost to perform the second subtask as the second robot, and control the second robot to transport the target material box from the first cache position to the second cache position.
9. The method according to claim 1, characterized in that: The controlling the third robot to move the target material box from the second buffer position to the second storage position includes: generating a transfer subtask of transporting the target container from the second buffer position to the second storage position as a third subtask; Determine the highest priority transfer subtask from the vertical transfer subtasks to be performed; wherein the vertical transfer subtasks include: a subtask of moving the material box from the storage location to the buffer area, and a subtask of moving the material box from the buffer area to the storage location; When it is determined that the transfer subtask with the highest priority in the vertical direction is the third subtask, the third robot is controlled to move the target material box from the second cache position to the second storage position.
10. The method according to claim 9, characterized in that When the determined transfer subtask with the highest priority in the vertical direction is the third subtask, controlling the third robot to move the target material box from the second cache position to the second storage position includes: When it is determined that the transfer subtask with the highest priority in the vertical direction is the third subtask, 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 cache position to the second storage position; The method further comprises: If a material box is placed in the second storage position, the priority of the third subtask is lowered, and the third robot is controlled to perform other transfer subtasks in the vertical direction except the third subtask.
11. The method according to claim 9, characterized in that The controlling the third robot to move the target material box from the second buffer position to the second storage position includes: From among the robots used to transport the material box in the vertical direction, determine the robot with the lowest time cost for executing the third subtask as the third robot, and control the third robot to transport the target material box from the second cache position to the second storage position.
12. The method according to any one of claims 1 to 11, characterized in that: The method further comprises: Upon receiving a first feedback message sent by the first robot indicating that a material box has been taken out from a storage location, recording the storage location as an idle storage location; When a second feedback message sent by the second robot indicating that the material box has been taken out from the cache position is received, the cache position is recorded as an idle cache position.
13. The method according to any one of claims 1 to 11, characterized in that: After determining the first cache position of the target material box according to the first storage position, the method further includes: Recording that the first cache location is in an occupied state; After determining the second cache position of the target material box according to the second storage position and the first cache position, the method further includes: Record that the second cache location is in an occupied state.
14. The method according to any one of claims 1 to 11, characterized in that: The first robot and the third robot are lifting robots; the second robot is a lurking robot; the lurking robot comprises a controller, a moving chassis and a lifting platform; the lifting platform is arranged on the moving chassis; the lifting platform is used to place a material box; The controller controls the moving chassis to move in the horizontal direction, so as to drive the lifting platform to move in the horizontal direction; The lifting robot comprises: a controller, a moving chassis, a support frame and a bearing member; the support frame is arranged on the moving chassis; the bearing member is connected to one side of the support frame through a driving component; the controller controls the driving component to move along the supporting frame in a vertical direction to drive the bearing member to move in a vertical direction; and the controller controls the driving component to move in a horizontal direction to drive the bearing member to move in a horizontal direction; or, The lifting robot includes: a controller, a moving chassis, a support frame and a bearing member; the support frame is arranged on the moving chassis; the support frame includes two columns arranged in parallel along the vertical direction, and a plurality of partitions are arranged in parallel along the horizontal direction between the two columns to form a plurality of storage spaces between the two columns; the plurality of storage spaces are used to place material boxes; the bearing member is connected to one side of the support frame through a driving assembly; the controller controls the driving assembly to move along the support frame in the vertical direction to drive the bearing member to move in the vertical direction; and the controller controls the driving assembly to move in the horizontal direction to drive the bearing member to move in the horizontal direction.
15. A robot tally system, characterized in that: The system comprises: a server, a lifting robot and a lurking robot; the lifting robot is used to carry the material box in the vertical direction; the lurking robot is used to carry the material box in the horizontal direction; The warehouse for tallying goods includes multiple layers of work platforms; each layer of the 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 projection areas on the horizontal plane in the multiple layers of the work platform are in the same row; shelves in the same row of the multiple layers of the work platform share at least one lifting robot, and the lifting robot has a vertical extension height that supports picking up goods from the topmost shelf in the topmost work platform; The server is used to obtain a tally task of a target material box in the warehouse; wherein the tally task is to move the target material box from a first storage position in a first shelf to a second storage position in a second shelf; determine a first cache position of the target material box according to the first storage position, and send the first storage position and the first cache position to the first lifting robot; wherein the first cache position belongs to a first cache area in the same column as the first shelf; The first lifting robot is used to move the target material box from the first storage position to the first cache position; The server is further configured to determine a second cache position of the target material box according to the second storage position and the first cache position, and send the first cache position and the second cache position to the latent robot; wherein the second cache position belongs to a second cache area in the same column as the second shelf and on the same layer as the first cache area; The lurking robot is used to move the target material box from the first cache position to the second cache position; The server is further used to send the second cache position and the second storage position to the second lifting robot; The second lifting robot is used to move the target material box from the second buffer position to the second storage position.
16. A server, characterized in that: include: Memory, used to store computer programs; A processor, for implementing any of the methods described in claims 1-14 when executing a program stored in a memory.
17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 14 is implemented.
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
Container carrying method and warehousing system
CN118145214A
Warehousing device, warehousing system, warehousing method and ex-warehouse method
CN118458195A
Conveyance system, control device and control method
JP2024113823A
Cited By
Bin storage system and bin transfer system
WO2026189199A1
