Methods, apparatus, equipment, and products for collaboration among multiple warehouse robots.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING YOUZHUJU NETWORK TECH CO LTD
- Filing Date
- 2024-09-30
- Publication Date
- 2026-06-02
Smart Images

Figure CN122138941A_ABST
Abstract
Description
Methods, apparatuses, devices, and products for collaboration among multiple warehouse robots TECHNICAL FIELD
[0001] The present disclosure relates to the field of robotics, and more specifically to methods, apparatuses, devices, and products for collaboration among multiple warehouse robots. BACKGROUND
[0002] Picking robots and transport robots are two types of robots in modern warehouse systems. Picking robots can rely on advanced vision technology (e.g., cameras, lidar, etc.) to quickly and accurately identify the location, shape, size, and barcode of items, among other information. For example, vision systems trained through deep learning algorithms can effectively distinguish different items in complex environments, even if their packaging colors or patterns are similar. In addition, picking robots can be equipped with various end effectors, such as robotic arms, grippers, suction cups, etc., to adapt to the grasping needs of items of different shapes and materials.
[0003] Transport robots, on the other hand, are usually equipped with technologies such as laser navigation, visual navigation, or magnetic navigation, and can autonomously plan paths within the warehouse, avoiding obstacles, and safely and efficiently deliver items to designated locations. They can be designed according to load requirements to meet the transportation needs of items ranging from small parts to large pallets.
[0004] SUMMARY
[0005] In a first aspect of embodiments of the present disclosure, a method for collaboration among multiple warehouse robots is provided, wherein the multiple warehouse robots include a picking robot and multiple transport robots. The method includes receiving, by a transport robot, an item list, the item list including items to be picked and a picking number. The method further includes obtaining, by the transport robot, multiple picking capability information of the multiple picking robots and multiple location information. The method further includes selecting, by the transport robot, a target picking robot from the multiple picking robots based on the item list, the multiple picking capability information, and the multiple location information. The method further includes sending, by the transport robot, a task assignment message to the target picking robot, the task assignment message including task information associated with at least part of the items in the item list. In addition, the method further includes handing over, by the transport robot, the picked at least part of the items from the target picking robot, and transporting the at least part of the items to a destination.
[0006] In a second aspect of the embodiments of the present disclosure, an apparatus for collaboration among multiple warehouse robots is provided. The apparatus includes an order list obtaining module configured to receive, by a transport robot, an order list, the order list including items to be picked and a pick quantity. The apparatus also includes a picking information obtaining module configured to obtain, by the transport robot, a plurality of picking capability information of a plurality of picking robots and a plurality of location information. The apparatus further includes a target robot selecting module configured to select, by the transport robot, a target picking robot from the plurality of picking robots based on the order list, the plurality of picking capability information, and the plurality of location information. The apparatus also includes a task message sending module configured to send, by the transport robot, a task assignment message to the target picking robot, the task assignment message including task information associated with at least part of the items in the order list. In addition, the apparatus also includes a picked item transporting module configured to hand over, by the transport robot, the picked at least part of the items from the target picking robot and transport the at least part of the items to a destination.
[0007] In a third aspect of the embodiments of the present disclosure, an electronic device is provided. The electronic device includes one or more processors; and a memory device storing one or more programs, when executed by the one or more processors, cause the one or more processors to implement a method for collaboration among multiple warehouse robots, wherein the multiple warehouse robots include a transport robot and a plurality of picking robots. The method includes receiving, by the transport robot, an order list, the order list including items to be picked and a pick quantity. The method also includes obtaining, by the transport robot, a plurality of picking capability information of a plurality of picking robots and a plurality of location information. The method further includes selecting, by the transport robot, a target picking robot from the plurality of picking robots based on the order list, the plurality of picking capability information, and the plurality of location information. The method also includes sending, by the transport robot, a task assignment message to the target picking robot, the task assignment message including task information associated with at least part of the items in the order list. In addition, the method also includes handing over, by the transport robot, the picked at least part of the items from the target picking robot and transporting the at least part of the items to a destination.
[0008] In a fourth aspect of the embodiments of the present disclosure, a computer program product is provided. The computer program product is tangibly stored on a non-transitory computer readable medium and includes machine executable instructions that, when executed, cause a machine to implement a method for collaboration among a plurality of warehouse robots, wherein the plurality of warehouse robots includes a transport robot and a plurality of picking robots. The method includes receiving, by the transport robot, an item list, the item list including items to be picked and a pick quantity. The method further includes obtaining, by the transport robot, a plurality of picking capability information of the plurality of picking robots and a plurality of location information. The method further includes selecting, by the transport robot, a target picking robot from the plurality of picking robots based on the item list, the plurality of picking capability information, and the plurality of location information. The method further includes sending, by the transport robot, a task assignment message to the target picking robot, the task assignment message including task information associated with at least a portion of the items in the item list. In addition, the method further includes handing over, by the transport robot, the picked at least a portion of the items from the target picking robot and transporting the at least a portion of the items to a destination.
[0009] The summary is provided to introduce a selection of concepts, in a simplified form, that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF DRAWINGS
[0010] The above and other features, advantages and aspects of embodiments of the present disclosure will become more apparent upon reading of the following detailed description, taken in conjunction with the accompanying drawings, in which like references refer to like elements, and in which:
[0011] FIG. 1 shows a schematic diagram of an example environment in which a plurality of embodiments of the present disclosure can be implemented;
[0012] FIG. 2 shows a flowchart of a method for collaboration of a plurality of warehouse robots, according to some embodiments of the present disclosure;
[0013] FIG. 3 shows a schematic diagram of an example of selecting a target picking robot based on attribute information of items, storage locations, and a pick quantity, according to some embodiments of the present disclosure;
[0014] FIG. 4 shows a schematic diagram of an example of calculating a comprehensive score by calculating a matching score and a distance score for a picking robot, according to some embodiments of the present disclosure;
[0015] FIG. 5 shows a flowchart of an example process of determining a plurality of target picking robots for picking a plurality of items based on a calculated comprehensive score, according to some embodiments of the present disclosure;
[0016] FIG. 6 shows a schematic diagram of an example of splitting an item list into multiple sub-item lists and picking items in the multiple sub-item lists by multiple picking robots simultaneously, according to some embodiments of the present disclosure;
[0017] FIG. 7 shows a flowchart of an example process for coordination among multiple transport robots in multiple zones, according to some embodiments of the present disclosure;
[0018] FIG. 8 shows a block diagram of an apparatus for coordination among multiple warehousing robots, according to some embodiments of the present disclosure; and
[0019] FIG. 9 shows a block diagram of an apparatus capable of implementing multiple embodiments of the present disclosure. DETAILED DESCRIPTION
[0020] It can be understood that all user-related data involved in the technical solution should be obtained and used after the user's authorization. This means that in the technical solution, if the user's personal information needs to be used, the user's explicit consent and authorization are required before obtaining these data, otherwise the relevant data collection and use will not be carried out. It should also be understood that in the implementation of the technical solution, relevant laws and regulations should be strictly followed in the process of data collection, use and storage, and necessary technical and measures should be taken to protect the user's data security and ensure the safe use of data.
[0021] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms, and should not be interpreted as being limited to the embodiments set forth herein, but rather these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not intended to limit the scope of protection of the present disclosure.
[0022] In the description of embodiments of the present disclosure, the term "comprising" and its similar words should be understood as open-ended including, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", and the like can refer to different or same objects unless explicitly stated otherwise. Other explicit and implicit definitions can also be included below.
[0023] In the related art, a warehouse robot with both picking and transporting capabilities receives an item list, parses the item list information, and determines the items to be picked and their locations in the warehouse environment. Then, the warehouse robot plans an optimal path using a vision system or navigation technology and sequentially visits each shelf. Upon reaching each shelf, the robot scans and confirms the location and status of the required items. The warehouse robot can use an end effector to grasp the specified items and place them in a built-in transport pod. After completing the picking of all items, the robot follows the preset path to the destination and transports the picked items in the item list to the specified location, completing the entire picking and transporting process.
[0024] However, there are some drawbacks to using a single warehouse robot to complete the entire picking and transporting process. For example, because the robot needs to move between multiple shelves, it can waste time, especially in large-scale warehouse environments. In addition, due to the limited load capacity of a single robot, it may not be able to handle a large number of items in an item list simultaneously, causing delays.
[0025] To this end, embodiments of the present disclosure provide a scheme for cooperation between multiple warehouse robots. In this scheme, a transport robot can receive an item list to be picked from a control center, the item list including items to be picked and a picking number. In addition, the transport robot can also obtain multiple picking capability information and multiple location information of multiple picking robots in the warehouse environment. Then, the transport robot can select a target picking robot from the multiple picking robots based on the item list, and the multiple picking capability information and the multiple location information of the multiple picking robots. The transport robot can send a task assignment message to the selected target picking robot, the task assignment message including task information associated with at least part of the items in the item list. The target picking robot can pick the items in the task information from the shelves after receiving the task assignment message. Then, the transport robot can hand over the picked items from the target picking robot and transport them to the destination.
[0026] In this way, the picking task of the item list can be completed by the cooperation of the transport robot and the picking robot, so as to utilize the advantages of the transport robot in transporting capacity and the advantages of the picking robot in picking capacity to improve the efficiency of the item picking process. In addition, the determination of the picking robot to cooperate with by the transport robot and the task assignment can reduce the processing resource consumption of the control center, process the item list in a distributed manner and in parallel, so as to improve the operation efficiency of the entire system.
[0027] FIG. 1 illustrates a schematic diagram of an example environment 100 in which various embodiments of the present disclosure can be implemented. As shown in FIG. 1, the environment 100 includes a transport robot 102 and a plurality of picking robots 104-1, 104-2,..., and 104-N (collectively referred to as picking robots 104 herein). In the environment 100, the transport robot 102 can be a transport-only robot. The picking robots 104 can be robots with only picking capability (or grasping capability), or robots with both picking capability and transport capability. For example, the picking robots 104 can have components such as robotic arms, grippers, forks, etc., allowing them to pick up items and place them onto specific locations in order to place the items they are carrying onto other robots when handing off the items.
[0028] In the environment 100, the transport robot 102 can receive an item list 108 (e.g., an order) from a control center 106. The item list 108 can include a plurality of items 110-1, 110-2,..., and 110-N (collectively referred to as items 110 herein) to be picked. In addition, the item list 108 can also include a quantity to be picked for each item 110.
[0029] In the environment 100, the plurality of picking robots 104 can have different picking capabilities. For example, some picking robots can have the capability to pick small items, some picking robots can have the capability to pick large items, some picking robots can have the capability to pick heavy items, some picking robots can have the capability to pick fragile items, and so on. In the environment 100, the transport robot 102 can obtain a plurality of picking capability information 112-1, 112-2,..., and 112-N (collectively referred to as picking capability information 112 herein) of the plurality of picking robots 104. The picking capability information 112, for example, can include one or more capability labels (e.g., small, large, heavy, fragile, etc.) indicating that the picking robots 104 have the picking capability corresponding to the label. In addition, the transport robot 102 can also obtain a plurality of location information 114-1, 114-2,..., and 114-N (collectively referred to as location information 114 herein) of the plurality of picking robots 104. The location information 114, for example, can be a current location of the picking robots 104, or a predetermined location for the picking robots 104 to hand off to the transport robot 102. The location information 114, for example, can be represented in a data format such as two-dimensional coordinates, three-dimensional coordinates, etc.
[0030] In the environment 100, the transport robot 102 can select appropriate picking robots from the plurality of picking robots 104 to pick at least part of the items in the item list 108 based on the item list 108, the plurality of picking capability information 112 of the plurality of picking robots 104, and the plurality of location information 114 of the plurality of picking robots 104. For example, the transport robot 102 can select the picking robot 104-1 as a target picking robot to pick the item 110-1 and the item 110-2 in the item list 108, and select the picking robot 104-2 as a target picking robot to pick other items 110 in the item list 108. The transport robot 102 can also select the picking robot 104-1 as a target picking robot to pick all the items 110 in the item list 108.
[0031] In the environment 100, the transport robot 102 can send a task assignment message to the selected target picking robots. For example, as shown in FIG. 1, the transport robot 102 can send a task assignment message 116 to the picking robot 104-1, which can include information of at least part of the items 110 in the item list 108 that need to be picked by the picking robot 104-1. In some embodiments, the information can include the identification of the items 110, the picking quantity, and the storage location, etc. In some embodiments, the storage location of the items 110 can not be included in the information, but is acquired by the picking robot 104-1 in other ways based on the identification of the items 110.
[0032] In the environment 100, after receiving the task assignment message 116, the picking robot 104-1 can pick the corresponding items from the shelves according to the instructions in the task assignment message 116. Then, the picking robot 104-1 can hand over the picked items to the transport robot 102. After obtaining the items, the transport robot 102 can transport the items to the destination. In some embodiments, the transport robot 102 can transport all the items to the destination after the plurality of picking robots 104 respectively complete the respective picking tasks.
[0033] In this way, the picking task of the item list 108 can be completed by the transport robot 102 and the plurality of picking robots 104 in cooperation, so as to improve the efficiency of the item picking process by taking advantage of the transport capability of the transport robot 102 and the picking capability of the picking robots 104. In addition, the determination of the picking robots 104 to cooperate with the transport robot 102 and the task assignment by the transport robot 102 can reduce the processing resource consumption of the control center 106, and process the item list in a distributed manner in parallel, so as to improve the operation efficiency of the entire system.
[0034] FIG. 2 illustrates a flowchart of a method 200 for collaboration of multiple warehouse robots, according to some embodiments of the present disclosure. The method 200 can be performed by a transport robot, for example, the method 200 can be performed by the transport robot 102 in FIG. 1. As shown in FIG. 2, at block 202, the transport robot can receive an item list, the item list including items to be picked and a pick quantity. For example, in the environment 100 as shown in FIG. 1, the transport robot 102 can receive the item list 108 from the control center 106. The item list 108 can include a plurality of items 110 to be picked. In addition, the item list 108 can also include a quantity to be picked for each item 110.
[0035] At block 204, the transport robot can obtain a plurality of pick capability information and a plurality of location information of a plurality of picking robots. For example, in the environment 100 as shown in FIG. 1, the transport robot 102 can obtain the plurality of pick capability information 112 of the plurality of picking robots 104. The pick capability information 112, for example, can include one or more capability labels (e.g., small, large, heavy, fragile, etc.) indicating that the picking robots 104 have the pick capability corresponding to the label. In addition, the transport robot 102 can also obtain the plurality of location information 114 of the plurality of picking robots 104. The location information 114, for example, can be a current location of the picking robots 104, or a predetermined location for the picking robots 104 to hand over to the transport robot 102. The location information 114, for example, can be represented in a data format of two-dimensional coordinates, three-dimensional coordinates, etc.
[0036] At block 206, the transport robot can select a target picking robot from the plurality of picking robots based on the item list, the plurality of pick capability information, and the plurality of location information. For example, in the environment 100 as shown in FIG. 1, the transport robot 102 can select appropriate picking robots from the plurality of picking robots 104 to pick at least part of the items in the item list 108 based on the item list 108, the plurality of pick capability information 112 of the plurality of picking robots 104, and the plurality of location information 114 of the plurality of picking robots 104. For example, the transport robot 102 can select the picking robot 104-1 as the target picking robot to pick the item 110-1 and the item 110-2 in the item list 108, and select the picking robot 104-2 as the target picking robot to pick other items 110 in the item list 108. The transport robot 102 can also select the picking robot 104-1 as the target picking robot to pick all the items 110 in the item list 108.
[0037] At block 208, the transport robot can send a task assignment message to the target picking robot, the task assignment message including task information associated with at least a portion of the items in the item list. For example, in the environment 100 as shown in FIG. 1, the transport robot 102 can send a task assignment message to the selected target picking robot. For example, as shown in FIG. 1, the transport robot 102 can send the task assignment message 116 to the picking robot 104-1, the task assignment message 116 can include information of at least a portion of the items 110 in the item list 108 that need to be picked by the picking robot 104-1.
[0038] At block 210, the transport robot can receive the picked at least a portion of the items from the target picking robot, and transport the at least a portion of the items to the destination. For example, in the environment 100 as shown in FIG. 1, after receiving the task assignment message 116, the picking robot 104-1 can pick the corresponding items from the shelves as instructed in the task assignment message 116. Then, the picking robot 104-1 can hand over the picked items to the transport robot 102. After obtaining the items, the transport robot 102 can transport the items to the destination.
[0039] In this way, the picking task of the item list can be completed by the transport robot and the picking robot in collaboration, so that the advantages of the transport robot in transport capacity and the advantages of the picking robot in picking capacity can be utilized to improve the efficiency of the item picking process. In addition, the determination of the picking robot to collaborate with by the transport robot and the task assignment can reduce the processing resource consumption of the control center, process the item list in a distributed manner and in parallel, so as to improve the operation efficiency of the entire system.
[0040] In some embodiments, in selecting the target picking robot, the transport robot can obtain attribute information and storage location of the items to be picked. Then, the transport robot can select the target picking robot from the plurality of picking robots based on the attribute information of the items to be picked, the storage location, the number of picking, the plurality of picking capability information, and the plurality of location information. In some embodiments, the attribute information of the items to be picked can include size of the items, weight of the items, and whether fragile, and the picking capability information of the picking robot can include size of the items that can be picked, weight of the items that can be picked, and whether fragile items can be picked.
[0041] FIG. 3 illustrates a schematic diagram of an example 300 of selecting a target picking robot based on attribute information of an item, a storage location, and a picking number, according to some embodiments of the present disclosure. As shown in FIG. 3, the example 300 includes a transport robot 302 and a plurality of picking robots 304-1, 304-2, …, and 304-N (collectively referred to as picking robots 304 herein). In the example 300, an item 310 is included in an item list received by the transport robot 302. The transport robot 302 can obtain attribute information 322, a storage location 324, and a picking number 326 of the item 310. In the example 300, the attribute information of an item can include a size of the item, a weight of the item (e.g., heavy item, light item), and whether it is fragile (e.g., fragile or non-fragile). The transport robot 302 can determine whether the item is a large item or a small item based on the size of the item. In addition, the transport robot 302 can also determine whether the item is a heavy item or a light item based on the weight of the item. The storage location 324 of the item 310 can be a location of a shelf where the item 310 is stored or a location of the item 310 itself.
[0042] In the example 300, the transport robot 302 can obtain a plurality of picking capability information 312-1, 312-2, …, and 312-N (collectively referred to as picking capability information 312 herein) of the plurality of picking robots 304. In the example 300, each picking capability information 312 can include one or more capability labels in a set of capability labels, which indicate attributes of items that the picking robot 304 is capable of picking. The set of capability labels can include a large item, a small item, a heavy item, a light item, a fragile item, and a non-fragile item. For example, the picking capability information 312-1 of the picking robot 304-1 can include a large item, a heavy item, and a non-fragile item. Then, the transport robot 302 can filter the picking robots in the plurality of picking robots 304 that have the capability to pick the item 310 based on the attribute information 322 of the item 310. In some embodiments, the transport robot 302 can iterate through each item in the item list and create a mapping table to record which picking robots each item can be picked by.
[0043] In the example 300, the picking capability information 312 can additionally include a maximum volume and a maximum weight that the picking robot 304 is capable of carrying. Then, the transport robot 302 can further update the mapping table based on the size and weight of the item 310, the picking number 326, and the maximum volume and the maximum weight that the picking robot 304 is capable of carrying. This can reduce the picking number of the picking robots 304 and improve picking efficiency.
[0044] In example 300, the transport robot 302 can also obtain a plurality of location information 314-1, 314-2, …, and 314-N (collectively referred to as location information 314 herein) of the plurality of picking robots 304. The transport robot 302 can calculate the distance of the item 310 to the picking robots 304 based on the location information 314 of the picking robots 304 and the storage location 324 of the item 310. Then, the transport robot 302 can add the distance to the entry corresponding to the item 310 and the picking robots 304 in the mapping table. For example, one example entry in the mapping table can be “Item 1: [(“Picking Robot 1”, 500), (“Picking Robot 2”, 350)]”, indicating that the item 1 can be handled by the picking robot 1 and the picking robot 2, and the distance of the picking robot 1 to the item 1 is 500 meters, and the distance of the picking robot 2 to the item 1 is 350 meters.
[0045] Then, the transport robot 302 can select a target picking robot from the plurality of picking robots 304 for picking the item 310 based on the mapping table. For example, the transport robot 302 can select the closest picking robot as the target robot among the plurality of picking robots 304 capable of picking the item 310. In this way, the transport robot can effectively select the most suitable picking robot according to the attributes and storage location of the item and the capability and location information of the picking robots, which not only can ensure the accuracy and efficiency of task allocation, but also can optimize resource utilization, thereby improving the operation efficiency of the entire system.
[0046] In some embodiments, when selecting the target picking robot, the transport robot can generate a plurality of matching degree scores corresponding to the plurality of picking robots based on the attribute information, the picking number, and the plurality of picking capability information of the item to be picked. In addition, the transport robot can also generate a plurality of distance scores corresponding to the plurality of picking robots based on the storage location of the item to be picked and the plurality of location information of the plurality of picking robots. Then, the transport robot can select the target picking robot based on the plurality of matching degree scores and the plurality of distance scores. In some embodiments, the transport robot can obtain a first weight for the plurality of matching degree scores and a second weight for the plurality of distance scores. Then, the transport robot can generate a plurality of comprehensive scores based on the plurality of matching degree scores, the first weight, the plurality of distance scores, and the second weight. Then, the transport robot can select the target picking robot based on the plurality of comprehensive scores.
[0047] FIG. 4 illustrates a schematic diagram of an example 400 of computing a comprehensive score by computing a matching score and a distance score for a picking robot, according to some embodiments of the present disclosure. As shown in FIG. 4, the transport robot can compute a matching score 412 for an item to be picked and the picking robot based on attribute information 402 of the item, a picking number 404, and picking capability information 406 of the picking robot. In some embodiments, a matching score for each attribute can be predefined. For example, a size of the item is a perfect match to the capability of the picking robot for 10 points, a partial match for 5 points, and a mismatch for 0 points. The weight of the item can be defined in a similar manner. The fragility of the item is a perfect match to the capability of the picking robot for 10 points, and a mismatch for 0 points. Then, the transport robot can increase the matching score by a weight according to the picking number. For example, when the picking number of the item increases by 1, a predetermined proportion (e.g., 20%, 50%, or 100%, etc.) of the score can be added to the matching score.
[0048] As shown in FIG. 4, the transport robot can also compute a distance score 414 based on a storage location 408 of the item and location information 410 of the picking robot. For example, the storage location 408 and the location information 410 can be represented in a two-dimensional coordinate form. The transport robot can use a Euclidean distance formula to compute a distance between the item to be picked and the picking robot. Then, the transport robot can inversely compute the score according to the size of the distance. For example, the transport robot can obtain a predetermined maximum distance threshold, and if the distance is less than the maximum distance threshold, the distance score 414 can be determined by computing a difference between the maximum distance threshold and the distance. If the distance is greater than or equal to the maximum distance threshold, the distance score 414 can be determined as 0.
[0049] In the example 400, the transport robot can obtain a weight 416 for the matching score 412 and a weight 418 for the distance score 414. The weight 416 and the weight 418 can indicate a user’s or a system administrator’s emphasis on the matching degree and the distance. Then, the transport robot can compute a comprehensive score 420 based on the matching score 412, the weight 416, the distance score 414, and the weight 418. For example, the transport robot can compute the comprehensive score 420 by weighted sum of the matching score 412 and the distance score 414. The higher the comprehensive score 420 is, the more suitable the picking robot is for picking the item. For example, the transport robot can select a picking robot with the largest comprehensive score among multiple picking robots as a target picking robot for the item.
[0050] By combining the matching score and the distance score, the suitability of an item for a picking robot can be comprehensively evaluated. The matching score reflects the fit between the item attributes and the robot capabilities, while the distance score takes into account the picking efficiency. The combined score ensures that the selected picking robot not only has the ability to handle the item, but also can complete the picking task in the shortest time. This approach helps to allocate resources more effectively and reduce robot idle time.
[0051] FIG. 5 illustrates a flowchart of an example process 500 for determining a plurality of target picking robots for picking a plurality of items based on the computed combined scores, according to some embodiments of the present disclosure. As shown in FIG. 5, at block 502, the transport robot can construct a cost matrix based on the plurality of combined scores, where the value of each element in the cost matrix indicates the cost of a picking robot picking an item, and a higher combined score corresponds to a smaller cost. The combined score (e.g., combined score 420 in FIG. 4) is determined by considering a plurality of factors (e.g., attributes of the items to be picked, picking capabilities of the picking robots, distances of the picking robots to the items to be picked, etc.), and the higher the combined score represents the more suitable the picking robot is for picking the item. When constructing the cost matrix, the value of each element can be the negative of the combined score, so that the algorithm can maximize the combined score when minimizing the cost.
[0052] At block 504, the transport robot can initialize a first array of potential values corresponding to the plurality of picking robots and a second array of potential values corresponding to the items to be picked, where the potential values indicate the desirability of a picking robot picking a particular item. The first and second arrays of potential values can be used to find augmenting paths, and these potential values can be adjusted during the computation based on the current matching state. In addition, the transport robot can also create a matching array to record which picking robot each item is currently assigned to.
[0053] At block 506, the transport robot can update the first and second arrays of potential values based on the cost matrix. For example, the transport robot can use a search algorithm (e.g., breadth-first search) to find available augmenting paths for each unmatched item. An augmenting path is a path connecting an unmatched robot and an unmatched item, which alternately contains matched and unmatched edges. Through such a path, the number of matched pairs can be increased based on the existing matching. During this process, the optimal matching can be determined based on the weight (i.e., cost) of each edge. When finding the augmenting path, the matching can be optimized by updating the potential values to ensure that a lower-cost path can be found. Once the augmenting path is found, the transport robot can update the matching information to change the status of the picking robot and the item to be picked on the path from unmatched to matched.
[0054] At block 508, the transport robot can select the target picking robot based on the updated first potential value array and the updated second potential value array. For example, the transport robot can determine a final matching state based on the updated potential value arrays, so that the target picking robot corresponding to each to-be-picked item can be determined.
[0055] In this way, the transport robot can dynamically adjust the potential values, so as to be able to optimize the matching between each picking robot and the to-be-picked items, and ensure that the combination with the lowest cost is selected in each iteration. This method makes the algorithm more efficient, and ultimately enables optimal task allocation.
[0056] In some embodiments, upon receiving the item list, the transport robot can split the item list into multiple sub-item lists, and then select the target picking robot from the multiple picking robots based on the sub-item lists in the multiple sub-item lists, the multiple picking capability information, and the multiple location information. In some embodiments, the transport robot can obtain multiple attribute information and multiple storage locations of multiple to-be-picked items in the item list, and then split the item list into multiple sub-item lists based on the multiple attribute information and the multiple storage locations. In some embodiments, the transport robot can obtain multiple priorities of multiple to-be-picked items in the item list, and then split the item list into multiple sub-item lists based on the multiple attribute information, the multiple storage locations, and the multiple priorities. In some embodiments, the transport robot can select multiple target robots from the multiple picking robots based on the multiple sub-item lists, and then send multiple task allocation messages to the multiple target robots simultaneously.
[0057] FIG. 6 shows a schematic diagram of an example 600 of splitting an item list into multiple sub-item lists and picking items in the multiple sub-item lists by multiple picking robots simultaneously, according to some embodiments of the present disclosure. As shown in FIG. 6, the example 600 includes an item list 602 including items 604-1, 604-2, and 604-3. The transport robot can obtain attribute information 606-1 and a storage location 608-1 of the item 604-1, attribute information 606-2 and a storage location 608-2 of the item 604-2, and attribute information 606-3 and a storage location 608-3 of the item 604-3. Then, the transport robot can split the item list 602 into multiple sub-item lists based on the attribute information and the storage locations of the items 604-1, 604-2, and 604-3.
[0058] For example, the transport robot can group the items in the item list 602 based on the attribute information and the storage locations. The transport robot can cluster the items with close storage locations into a group based on the storage locations and using a clustering algorithm, and then group the items with similar attributes into a group in the group.
[0059] In some embodiments, the transport robot can also obtain priority information 610-1 of the item 604-1, priority information 610-2 of the item 604-2, and priority information 604-3 of the item 604-3, for example, the priority information can be high, medium, low, etc. Then, the transport robot can split the item list 602 into multiple sub-item lists based on the attribute information, storage location, and priority information of the items 604-1, 604-2, and 604-3. For example, items with higher priority can be divided into a group so as to prioritize picking these items.
[0060] As shown in FIG. 6, in the example 600, the item list 602 is split into sub-item lists 612 and 614, where the sub-item list 612 may, for example, include the item 604-1 and the item 604-2, and the sub-item list 614 can include the item 604-3. After generating the sub-item lists 612 and 614, the transport robot can use the methods described above to select target picking robots for the sub-item lists 612 and 614, respectively. For example, in the example 600, the transport robot can determine that the target picking robot for the sub-item list 612 is the picking robot 616, and determine that the target picking robot for the sub-item list 614 is the picking robot 618. Then, the transport robot can send corresponding task assignment messages to the picking robots 616 and 618 to make the picking robots 616 and 618 pick the items in the sub-item lists 612 and 614 in parallel.
[0061] In this way, the transport robot can split the item list according to the attribute information and storage location of the items, which can reduce the complexity of mixed picking and reduce the probability of errors. In addition, the picking robots can reduce damage and errors caused by improper operation when handling similar items. In addition, splitting the item list into sub-item lists can optimize the navigation path of the robots according to the storage location of the items, reduce unnecessary movement, and improve overall transportation efficiency.
[0062] When the transport robot transports the items to be picked by the picking robots to the destination, if all transport robots attempt to perform the transportation task of the entire area without clear division of labor, it can lead to a decrease in overall transportation efficiency. For example, some transport robots spend a lot of time looking for suitable paths, and the free movement of some transport robots in the entire area can increase the congestion of the transportation line, not only reducing transportation efficiency, but also possibly causing collisions, which in turn can cause damage to the transport robots.
[0063] In some embodiments, when transporting the items picked by the picking robot to the destination, the transport robot can determine a plurality of regions that need to be passed through between the location where the transport robot is located and the destination, the plurality of regions including a transition region. Then, the transport robot can obtain a plurality of attribute information and a plurality of state information associated with a plurality of transport robots in the transition region. The transport robot can select a target transport robot from the plurality of transport robots based on the plurality of attribute information and the plurality of state information associated with the plurality of transport robots, and then send another task allocation message to the target transport robot.
[0064] FIG. 7 illustrates a flowchart of an example process 700 for cooperation between a plurality of transport robots in a plurality of regions, according to some embodiments of the present disclosure. As shown in FIG. 7, at block 702, a transport robot can determine a plurality of regions that need to be passed through between the location where the transport robot is located and the destination, the plurality of regions including a transition region. For example, a warehouse environment can be divided into a plurality of regions, each region being responsible for a specific robot. For example, the warehouse environment can be divided into regions A, B, C, the transport robot in region A obtains the items in the item list from the picking robot, and is to transport these items to region C, in the process of which region B needs to be passed through, region B being referred to as a transition region.
[0065] At block 704, the transport robot can obtain a plurality of attribute information and a plurality of state information associated with a plurality of transport robots in the transition region. For example, a plurality of transport robots can be included in the transition region B, the transport robot located in region A can obtain the plurality of attribute information and the plurality of state information of the plurality of transport robots located in region B. In some embodiments, the attribute information can include a maximum load weight, and the state information can include a current location of the robot.
[0066] At block 706, the transport robot can select a target transport robot from the plurality of transport robots based on the plurality of attribute information and the plurality of state information associated with the plurality of transport robots. In some embodiments, the transport robot can calculate an energy efficiency score, a time efficiency score, and a load matching score of each transport robot in the transition region, and then calculate a total score based on the energy score, the time efficiency score, and the load matching score. The transport robot can select a target transport robot from the plurality of transport robots in the transition region based on the total score to complete the transport task in cooperation. For example, the transport robot can calculate the total score S by the following equation (1) overall : S overall = S energy *w1+S time *w2+S load *w3 (1)
[0067] where Senergy denotes an energy efficiency score, S time denotes a time efficiency score, S load denotes a load matching score, w1, w2, and w3 denote pre-set weights indicating the importance of each factor.
[0068] In calculating the energy efficiency score, the transport robot can determine the distance between itself and the transport robots in the transition area based on their own positions. In addition, the transport robot can also estimate the total energy required to complete the movement based on its own speed, weight, and the distance to the candidate transport robots. For example, the transport robot can calculate the energy efficiency score S energy : S energy = D target / E estimated (2)
[0069] where D target denotes the distance between the transport robot and the candidate transport robots, E estimated denotes the estimated energy consumption of the transport robot moving to the candidate transport robots.
[0070] In addition, the transport robot can calculate the time efficiency score based on the distance to the candidate transport robots and its own average moving speed under given conditions. For example, the transport robot can calculate the time efficiency score S time : S time = D target / V average (3)
[0071] where V average denotes the average moving speed of the transport robot under given conditions.
[0072] In addition, the transport robot can calculate the load matching score based on the weight of the items that need to be transported and the maximum load weight of the candidate transport robots. For example, the transport robot can calculate the load matching score S load : S load = L required / L max (4)
[0073] where L required denotes the weight of the items that need to be transported, and L max denotes the maximum load weight of the candidate transport robots. If S loadIf the value is less than or equal to 1, the candidate transport robot is competent, otherwise it indicates that the load capacity of the candidate transport robot is insufficient and cannot be selected as the target candidate robot.
[0074] In this way, the transport robots can cooperate to complete the transport task of the item list, so that the time spent for finding a suitable path can be reduced, the congestion of the transport line can be reduced, the transport efficiency can be improved, and the collision between the robots can be reduced. In addition, the transport robots in the transition area can be faster, so that the transport efficiency can be further improved.
[0075] FIG. 8 shows a block diagram of an apparatus 800 for cooperation between multiple warehouse robots according to some embodiments of the present disclosure. As shown in FIG. 8, the apparatus 800 includes an item list obtaining module 802 configured to receive, by a transport robot, an item list, the item list including items to be picked and a picking number. The apparatus 800 further includes a picking information obtaining module 804 configured to obtain, by the transport robot, a plurality of picking capability information of a plurality of picking robots and a plurality of location information. The apparatus 800 further includes a target robot selecting module 806 configured to select, by the transport robot, a target picking robot from the plurality of picking robots based on the item list, the plurality of picking capability information, and the plurality of location information. The apparatus 800 further includes a task message sending module 808 configured to send, by the transport robot, a task assignment message to the target picking robot, the task assignment message including task information associated with at least part of the items in the item list. In addition, the apparatus 800 further includes a picked item transport module 810 configured to hand over, by the transport robot, at least part of the picked items from the target picking robot, and transport the at least part of the picked items to a destination.
[0076] In some embodiments, the target robot selecting module 806 includes an item information obtaining module configured to obtain attribute information and storage locations of the items to be picked, and an item information using module configured to select the target picking robot from the plurality of picking robots based on the attribute information of the items to be picked, the storage locations, the picking number, the plurality of picking capability information, and the plurality of location information.
[0077] In some embodiments, the attribute information includes a size of the item, a weight of the item, and whether the item is fragile, and the picking capability information includes a size of the pickable item, a weight of the pickable item, and whether the pickable item is a fragile item.
[0078] In some embodiments, the item information using module includes: a matching degree score generating module configured to generate a plurality of matching degree scores corresponding to the plurality of picking robots based on the attribute information of the to-be-picked item, the picking number, and the plurality of picking capability information; a distance score generating module configured to generate a plurality of distance scores corresponding to the plurality of picking robots based on the storage location of the to-be-picked item and a plurality of location information of the plurality of picking robots; and a score using module configured to select the target picking robot based on the plurality of matching degree scores and the plurality of distance scores.
[0079] In some embodiments, the score using module includes: a weight obtaining module configured to obtain a first weight for the plurality of matching degree scores and a second weight for the plurality of distance scores; a comprehensive score generating module configured to generate a plurality of comprehensive scores based on the plurality of matching degree scores, the first weight, the plurality of distance scores, and the second weight; and a comprehensive score using module configured to select the target picking robot based on the plurality of comprehensive scores.
[0080] In some embodiments, the comprehensive score using module includes: a cost matrix constructing module configured to construct a cost matrix based on the plurality of comprehensive scores, wherein a value of each element in the cost matrix indicates a cost of a picking robot picking an item, and a higher comprehensive score corresponds to a smaller cost; a latent value initializing module configured to initialize a first latent value array corresponding to the plurality of picking robots and a second latent value array corresponding to the to-be-picked item, a latent value indicating a superiority of a picking robot picking a particular item; a latent value updating module configured to update the first latent value array and the second latent value array based on the cost matrix; and a latent value using module configured to select the target picking robot based on the updated first latent value array and the updated second latent value array.
[0081] In some embodiments, the target robot selecting module 806 includes: an item list splitting module configured to split the item list into a plurality of sub-item lists; and a sub-item list using module configured to select the target picking robot from the plurality of picking robots based on a sub-item list in the plurality of sub-item lists, the plurality of picking capability information, and the plurality of location information.
[0082] In some embodiments, the order list splitting module comprises: an attribute information obtaining module configured to obtain a plurality of attribute information of a plurality of to-be-picked items in the order list and a plurality of storage locations; and an attribute information using module configured to split the order list into the plurality of sub-order lists based on the plurality of attribute information and the plurality of storage locations.
[0083] In some embodiments, the splitting the order list into the plurality of sub-order lists based on the plurality of attribute information and the plurality of storage locations comprises: a priority obtaining module configured to obtain a plurality of priority of a plurality of to-be-picked items in the order list; and a priority using module configured to split the order list into the plurality of sub-order lists based on the plurality of attribute information, the plurality of storage locations, and the plurality of priority.
[0084] In some embodiments, the apparatus 800 further comprises: a target robot set selecting module configured to select, by the transport robot, a plurality of target robots from the plurality of picking robots based on the plurality of sub-order lists; and a target robot set assigning module configured to send, by the transport robot, a plurality of task assignment messages to the plurality of target robots simultaneously.
[0085] In some embodiments, the picking item transporting module comprises: a region determining module configured to determine a plurality of regions needed to pass between a location of the transport robot and the destination, the plurality of regions comprising a transition region; a transport robot information obtaining module configured to obtain a plurality of attribute information and a plurality of state information associated with a plurality of transport robots in the transition region; a target transport robot determining module configured to select a target transport robot from the plurality of transport robots based on the plurality of attribute information and the plurality of state information associated with the plurality of transport robots; and a transport task message sending module configured to send another task assignment message to the target transport robot.
[0086] It can be understood that, by means of the apparatus 700 of the present disclosure, at least one of the many advantages that can be achieved by the method or process as described above can be achieved. For example, the picking task of the order list can be completed by the transport robot and the picking robot in cooperation, so that the advantages of the transport robot in transport capacity and the advantages of the picking robot in picking capacity can be utilized to improve the efficiency of the item picking process. In addition, the determination of the picking robot cooperating with the transport robot and the task assignment by the transport robot can reduce the processing resource consumption of the control center, process the order list in a distributed manner and in parallel, so as to improve the operation efficiency of the entire system.
[0087] FIG. 9 shows a block diagram of a device 900 that can implement various embodiments of the present disclosure. The device 900 can be, for example, a processing unit of a transport robot 102 as shown in FIG. 1. As shown in FIG. 9, the device 900 includes a central processing unit (CPU) and / or a graphics processing unit (GPU) 901 that can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 902 or loaded into a random access memory (RAM) 903 from a storage unit 908. Various programs and data required for operation of the device 900 can also be stored in the RAM 903. The CPU / GPU 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904. Although not shown in FIG. 9, the device 900 can also include a coprocessor.
[0088] Various components in the device 900 are connected to the I / O interface 905, including an input unit 906, such as a keyboard, a mouse, etc., an output unit 907, such as various types of displays, speakers, etc., a storage unit 908, such as a magnetic disk, a magneto-optical disk, etc., and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0089] The various methods or processes described above can be performed by the CPU / GPU 901. For example, in some embodiments, the methods can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into the RAM 903 and executed by the CPU / GPU 901, one or more steps or actions of the methods or processes described above can be performed.
[0090] In some embodiments, the methods and processes described above can be implemented as a computer program product. The computer program product can include a computer readable storage medium having computer readable program instructions embodied therewith to perform various aspects of the present disclosure.
[0091] A computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0092] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0093] Computer readable program instructions for carrying out operations of the present disclosure can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including object oriented programming languages and conventional procedural programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
[0094] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.
[0095] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0096] The computer program product of the second aspect can include a computer readable storage medium. The computer readable storage medium can include instructions. The instructions can include one or both of: instructions for causing a computer to enable a user equipment device to receive a configuration message from a base station, the configuration message comprising an indication of a set of one or more parameters for a first type of hybrid automatic repeat request process, the first type of hybrid automatic repeat request process being associated with a first type of data; and instructions for causing a computer to enable a user equipment device to receive a configuration message from a base station, the configuration message comprising an indication of a set of one or more parameters for a first type of hybrid automatic repeat request process, the first type of hybrid automatic repeat request process being associated with a first type of data.
[0097] Embodiments of the present disclosure have been described above, with the understanding that these embodiments are exemplary only, and are not restrictive, and are not limited to the disclosed embodiments. Many modifications and changes to the described embodiments are possible, without departing from the scope and spirit of the described embodiments. The selection of terms to be used herein is intended to best explain the principles of the embodiments, practical application, or technical improvement over the technology in the market, or to enable other ordinary skilled persons in the art to understand the embodiments disclosed herein.
Claims
1.A method for collaboration among a plurality of warehouse robots, the warehouse robots comprising a transport robot and a plurality of picking robots, the method comprising: receiving, by the transport robot, an item list, the item list comprising items to be picked and a picking number; obtaining, by the transport robot, a plurality of picking capability information and a plurality of location information of the plurality of picking robots; selecting, by the transport robot, a target picking robot from the plurality of picking robots based on the item list, the plurality of picking capability information, and the plurality of location information; sending, by the transport robot, a task assignment message to the target picking robot, the task assignment message comprising task information associated with at least a portion of the items in the item list; and handing over, by the transport robot, the picked at least the portion of the items from the target picking robot and transporting the at least the portion of the items to a destination. 2.The method of claim 1, wherein selecting, by the transport robot, the target picking robot from the plurality of picking robots based on the item list, the plurality of picking capability information, and the plurality of location information comprises: obtaining attribute information and a storage location of the items to be picked; and selecting the target picking robot from the plurality of picking robots based on the attribute information of the items to be picked, the storage location, the picking number, the plurality of picking capability information, and the plurality of location information. 3.The method of claim 2, wherein the attribute information comprises a size of an item, a weight of an item, and whether the item is fragile, and the picking capability information comprises a size of an item that can be picked, a weight of an item that can be picked, and whether a fragile item can be picked. 4.The method of claim 2, wherein selecting the target picking robot from the plurality of picking robots based on the attribute information of the items to be picked, the storage location, the picking number, the plurality of picking capability information, and the plurality of location information comprises: generating a plurality of matching degree scores corresponding to the plurality of picking robots based on the attribute information of the items to be picked, the picking number, and the plurality of picking capability information; generating a plurality of distance scores corresponding to the plurality of picking robots based on the storage location of the items to be picked and the plurality of location information of the plurality of picking robots; and selecting the target picking robot based on the plurality of matching degree scores and the plurality of distance scores. 5.The method of claim 4, wherein selecting the target picking robot based on the plurality of matching degree scores and the plurality of distance scores comprises: obtaining a first weight for the plurality of matching degree scores and a second weight for the plurality of distance scores; generating a plurality of comprehensive scores based on the plurality of matching degree scores, the first weight, the plurality of distance scores, and the second weight; and selecting the target picking robot based on the plurality of comprehensive scores. 6.The method of claim 5, wherein selecting the target picking robot based on the plurality of comprehensive scores comprises: constructing a cost matrix based on the plurality of comprehensive scores, wherein a value of each element in the cost matrix indicates a cost of picking an item by a picking robot, and a higher comprehensive score corresponds to a smaller cost; initializing a first latent value array corresponding to the plurality of picking robots and a second latent value array corresponding to the items to be picked, a latent value indicating a superiority of picking a particular item by a picking robot; updating the first latent value array and the second latent value array based on the cost matrix; and selecting the target picking robot based on the updated first latent value array and the updated second latent value array. 7.The method of claim 1, wherein selecting, by the transport robot, the target picking robot from the plurality of picking robots based on the item list, the plurality of picking capability information, and the plurality of location information comprises: splitting the item list into a plurality of sub-item lists; and selecting the target picking robot from the plurality of picking robots based on a sub-item list of the plurality of sub-item lists, the plurality of picking capability information, and the plurality of location information. 8.The method of claim 7, wherein splitting the item list into the plurality of sub-item lists comprises: obtaining a plurality of attribute information and a plurality of storage locations of a plurality of items to be picked in the item list; and splitting the item list into the plurality of sub-item lists based on the plurality of attribute information and the plurality of storage locations. 9.The method of claim 8, wherein splitting the item list into the plurality of sub-item lists based on the plurality of attribute information and the plurality of storage locations comprises: obtaining a plurality of priorities of a plurality of items to be picked in the item list; and splitting the item list into the plurality of sub-item lists based on the plurality of attribute information, the plurality of storage locations, and the plurality of priorities. 10.The method of claim 7, further comprising: selecting, by the transport robot, a plurality of target robots from the plurality of picking robots based on the plurality of sub-item lists; and sending, by the transport robot, a plurality of task assignment messages to the plurality of target robots simultaneously. 11.The method of claim 1, wherein handing over, by the transport robot, the picked at least one part of the items from the target picking robot and transporting the at least one part of the items to the destination comprises: determining a plurality of areas needed to be passed between a location where the transport robot is located and the destination, the plurality of areas including a transition area; obtaining a plurality of attribute information and a plurality of state information associated with a plurality of transport robots in the transition area; selecting a target transport robot from the plurality of transport robots based on the plurality of attribute information and the plurality of state information associated with the plurality of transport robots; and sending another task assignment message to the target transport robot. 12.An apparatus for collaboration among a plurality of warehouse robots, the warehouse robots comprising a transport robot and a plurality of picking robots, the apparatus comprising: an item list obtaining module configured to receive, by the transport robot, an item list, the item list comprising items to be picked and a pick number; a picking information obtaining module configured to obtain, by the transport robot, a plurality of picking capability information and a plurality of location information of the plurality of picking robots; a target robot selecting module configured to select, by the transport robot, a target picking robot from the plurality of picking robots based on the item list, the plurality of picking capability information, and the plurality of location information; a task message sending module configured to send, by the transport robot, a task assignment message to the target picking robot, the task assignment message comprising task information associated with at least a portion of the items in the item list; and a picked item transporting module configured to hand over, by the transport robot, the at least the portion of the picked items from the target picking robot and transport the at least the portion of the picked items to a destination. 13.An electronic device comprising: a processor; and a memory coupled with the processor, the memory having stored therein instructions that, when executed by the processor, cause the electronic device to perform the method according to any one of claims 1-11. 14.A computer program product tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions that, when executed, cause a machine to perform the method according to any one of claims 1-11.