Robot task allocation method and device, electronic equipment and storage medium
By dividing the inventory container into multiple inventory partitions and binding workstations and robots, the path crossover and energy consumption problems caused by robot dynamic scheduling are solved, and more efficient task processing and resource utilization are achieved.
Patent Information
- Application Number
- CN202510167824.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-31
- Publication Date
- 2025-06-06
AI Technical Summary
In the prior art, the motion paths caused by dynamic scheduling between different workstations may cross, causing congestion and reducing task processing efficiency; at the same time, the robot's service area covers the entire inventory area, increasing the robot's walking distance and energy consumption overhead.
By dividing the inventory container into multiple inventory partitions according to preset logic and binding target inventory partitions for each workstation and robot, ensuring that the robot moves within a fixed area, avoiding path crossing, and reducing walking distance.
It effectively reduces congestion caused by robot scheduling, reduces energy consumption and overhead, and improves task processing efficiency and robot resource utilization.
Smart Images

Figure CN120106460A_ABST
Abstract
Description
[0001] This application is a divisional application. The application number of the original application is 202010898752X, and the original application date is August 31, 2020. The entire contents of the original application are incorporated into this application by reference. Technical Field
[0002] The present disclosure relates to the technical field of intelligent warehouse management, and in particular to a robot task allocation method, device, electronic device and storage medium. Background Art
[0003] With the rapid development of e-commerce, the amount of goods stored in warehouses is huge. How to more efficiently and quickly transport the stored goods to designated areas for delivery, reduce cargo accumulation, and achieve smooth logistics is an urgent problem to be solved in warehouse management.
[0004] In the prior art, robots are dynamically assigned to workstations to reduce the idle time of picking goods and increase warehouse operation efficiency. That is, robots are dynamically assigned to the workstation with the largest number of robots among all workstations according to the robot resources occupied by the current workstation, and the assigned robots are bound to the workstations. After the task is completed, the binding between the robots and the workstations is cancelled.
[0005] In the above allocation method, on the one hand, since the robot can be dynamically dispatched between different workstations, the movement path of the robot in the inventory area also changes dynamically. In this way, the movement paths of the robots allocated to different workstations may intersect, which may easily cause congestion and reduce the task processing efficiency. On the other hand, since the robot's service area may cover the entire inventory area, this also increases the robot's walking distance, thereby increasing the robot's energy consumption. Summary of the invention
[0006] The embodiments of the present disclosure at least provide a robot task allocation method, device, electronic device and storage medium to reduce congestion caused by scheduling robots between different workstations, reduce the walking distance of robots, and reduce the energy consumption of robots.
[0007] In a first aspect, an embodiment of the present disclosure provides a robot task allocation method, comprising:
[0008] Divide the inventory container into multiple inventory partitions according to preset logic;
[0009] Determine a first time loss for the robot to reach each workstation from each inventory partition, and bind a target inventory partition to each workstation according to the first time loss;
[0010] A second time loss for the robot to reach each target inventory partition from the current position is determined, and the target inventory partition is bound to each robot according to the second time loss.
[0011] In an optional implementation, the inventory container is divided into a plurality of inventory partitions according to a preset logic, including:
[0012] determining a third time loss for the robot to reach the workstation from each inventory container location;
[0013] performing clustering according to the third time loss;
[0014] The inventory container is divided into a plurality of inventory partitions according to the clustering results.
[0015] In an optional embodiment, the inventory partitions include physical partitions and / or virtual partitions; and in the case where the inventory partitions are virtual partitions, the robot is controlled to move inventory containers belonging to the same virtual partition to the same physical partition.
[0016] In an optional implementation, the inventory container is divided into a plurality of inventory partitions according to a preset logic, including:
[0017] Count the SKU correlation parameters of all inventory containers in the inventory area;
[0018] Determine correlation parameters between inventory containers according to SKU correlation parameters of inventory containers;
[0019] The inventory containers are divided into a plurality of inventory partitions according to correlation parameters between the inventory containers.
[0020] In an optional implementation, the inventory container is divided into a plurality of inventory partitions according to a preset logic, including:
[0021] According to the arrangement positions of all inventory containers in the inventory area and the positions of the workstations, it is determined that the inventory containers in the depth direction facing the workstation belong to the same inventory partition, or the inventory containers are divided into multiple inventory partitions according to the original physical positions of the workstations.
[0022] In an optional implementation, the method further includes:
[0023] For the target workstations whose current task volume exceeds the load, respectively determine the fourth time loss of the currently available robots from the current position to the inventory partition corresponding to each target workstation;
[0024] According to the fourth time loss, available robots are scheduled for each target workstation.
[0025] In an optional implementation manner, before scheduling available robots for each target workstation according to the fourth time loss, the method further includes:
[0026] Determine the proportion of robots that need to be replenished at each target workstation; and
[0027] According to the fourth time loss, scheduling available robots for each target workstation specifically includes:
[0028] According to the fourth time loss, available robots are scheduled for each target workstation in descending order of the proportion of the number of robots that need to be supplemented at the target workstation.
[0029] In a second aspect, the present disclosure also provides a robot task allocation device, including:
[0030] A partitioning unit, used to divide the inventory container into a plurality of inventory partitions according to a preset logic;
[0031] A first determining unit, configured to determine a first time loss for the robot to reach each workstation from each inventory partition, and bind a target inventory partition to each workstation according to the first time loss;
[0032] The second determining unit is used to determine a second time loss for the robot to reach each target inventory partition from the current position, and bind the target inventory partition to each robot according to the second time loss.
[0033] In an optional implementation manner, the division unit includes:
[0034] A first determination module, configured to determine a third time loss for the robot to reach the workstation from each inventory container location;
[0035] A clustering module is used to perform clustering according to the third time loss; and divide the inventory container into a plurality of inventory partitions according to the clustering result.
[0036] In an optional implementation manner, the inventory partition includes a physical partition and / or a virtual partition; the device further includes:
[0037] The control unit is used to control the robot to move inventory containers belonging to the same virtual partition to the same physical partition when the inventory partition is a virtual partition.
[0038] In an optional implementation manner, the division unit includes:
[0039] Statistics module, used to count the SKU correlation parameters of all inventory containers in the inventory area;
[0040] The second determination module is used to determine the correlation parameters between inventory containers according to the SKU correlation parameters of the inventory containers; and divide the inventory containers into a plurality of inventory partitions according to the correlation parameters between the inventory containers.
[0041] In an optional implementation manner, the division unit includes:
[0042] The third determination module is used to determine that the inventory containers in the depth direction facing the workstation belong to the same inventory partition based on the arrangement positions of all inventory containers in the inventory area and the position of the workstation, or to divide the inventory containers into multiple inventory partitions based on the original physical positions of the workstations.
[0043] In an optional implementation, a scheduling unit is further included, wherein:
[0044] The second determination unit is further used to determine, for each target workstation whose current task volume exceeds the load, a fourth time loss for the currently available robot to reach the inventory partition corresponding to each target workstation from the current position;
[0045] The scheduling unit is used to schedule available robots for each target workstation according to the fourth time loss.
[0046] In an optional implementation manner, the scheduling unit further includes a fourth determining module, wherein:
[0047] The fourth determination module is used to determine the proportion of the number of robots that need to be supplemented at each target workstation before the scheduling unit schedules the available robots for each target workstation according to the fourth time loss;
[0048] The scheduling unit is further used to, specifically, schedule available robots for each target workstation in sequence according to the fourth time loss and in descending order of the proportion of the number of robots that need to be replenished at the target workstation.
[0049] In a third aspect, an embodiment of the present disclosure further provides an electronic device, comprising: a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate via the bus, and when the machine-readable instructions are executed by the processor, the steps of the above-mentioned first aspect, or any possible implementation of the first aspect are performed.
[0050] In a fourth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned first aspect or any possible implementation of the first aspect are executed.
[0051] For a description of the effects of the above-mentioned robot task allocation device, electronic device and storage medium, please refer to the description of the above-mentioned robot task allocation method, which will not be repeated here.
[0052] A robot task allocation method, device, electronic device and storage medium provided in the embodiments of the present disclosure divide the inventory area into several inventory partitions, and bind different workstations to different inventory partitions and bind different robots to different inventory partitions to achieve binding of robots to workstations, that is, a method of fixedly allocating robots to a certain workstation is adopted. Compared with the method of dynamically allocating robots to workstations in the prior art, since the robots move in a fixed area, the problem of congestion caused by the intersection of the robot's movement paths due to cross-regional scheduling is avoided. In addition, compared with the intelligent warehousing service area covering the entire inventory area, the robot's walking distance can be reduced, thereby reducing the robot's energy consumption.
[0053] Furthermore, a robot task allocation method provided by an embodiment of the present disclosure can also, on the basis of fixedly allocating robots to different workstations, schedule robot resources from workstations with lower task processing loads to workstations with higher task processing loads when the task processing loads between workstations are uneven, thereby improving the task processing efficiency and the utilization rate of the robot.
[0054] In order to make the above-mentioned objectives, features and advantages of the present disclosure more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following is a brief introduction to the drawings required for use in the embodiments. The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present disclosure and are used together with the specification to illustrate the technical solutions of the present disclosure. It should be understood that the following drawings only illustrate certain embodiments of the present disclosure and should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can also be obtained based on these drawings without creative work.
[0056] Figure 1a A schematic diagram of an application scenario of a robot task allocation method provided in the prior art is shown;
[0057] Figure 1b A flowchart of a robot task allocation method provided by an embodiment of the present disclosure is shown;
[0058] Figure 2a A schematic diagram of a process for partitioning according to inventory container locations provided by an embodiment of the present disclosure is shown;
[0059] Figure 2b A schematic diagram of inventory partitions obtained by partitioning inventory containers according to a first partitioning method provided in an embodiment of the present disclosure is shown;
[0060] Figure 3a A schematic diagram of a process of partitioning by SKU provided in an embodiment of the present disclosure is shown;
[0061] Figure 3b A schematic diagram of inventory partitions obtained by dividing inventory containers according to the second partitioning method provided in an embodiment of the present disclosure is shown;
[0062] Figure 4 A schematic diagram of inventory partitions obtained by dividing inventory containers according to physical locations provided in an embodiment of the present disclosure is shown;
[0063] Figure 5 A schematic diagram of a process of scheduling a robot for a workstation with an overloaded task load in a robot task allocation method provided by an embodiment of the present disclosure is shown;
[0064] Figure 6 A schematic diagram of the structure of a robot task allocation device provided by an embodiment of the present disclosure is shown;
[0065] Figure 7 A schematic diagram of an electronic device provided by an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0066] In order to make the purpose, technical scheme and advantages of the embodiments of the present disclosure clearer, the technical scheme in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. The components of the embodiments of the present disclosure generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure provided in the drawings is not intended to limit the scope of the present disclosure for protection, but merely represents the selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present disclosure.
[0067] In addition, the terms "first", "second", etc. in the description and claims of the embodiments of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein.
[0068] The "multiple or several" mentioned in this article refers to two or more. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.
[0069] Research has found that in the existing technology, the idle time of picking goods at workstations is reduced by dynamically allocating robots to workstations. In this task allocation method, on the one hand, since the robots can be dynamically scheduled between different workstations, the movement paths of the robots in the inventory area may intersect, causing congestion and reducing task processing efficiency; on the other hand, since the robot's service area may cover the entire inventory area, the robot's walking distance is increased, which in turn increases the robot's energy consumption.
[0070] Based on the above research, the present disclosure provides a robot task allocation method, device, electronic device and storage medium, which can reduce the congestion caused by cross-workstation scheduling of robots, reduce the walking distance of robots, and save the energy consumption of robots.
[0071] The defects existing in the above solutions are the results obtained by the inventor after practice and careful research. Therefore, the discovery process of the above problems and the solutions proposed by the present disclosure for the above problems below should be the contributions made by the inventor to the present disclosure during the disclosure process.
[0072] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.
[0073] To facilitate understanding of this embodiment, the application scenario of a robot task allocation method disclosed in the embodiment of the present disclosure is first introduced. The robot task allocation method provided in the embodiment of the present disclosure can be applied to Figure 1a In the warehouse management system shown. The system includes: a robot 110, a control server 120 and an inventory area 130. The inventory area 130 is provided with a plurality of inventory containers 1301. The inventory containers 1301 are provided with inventory items to be picked. When responding to an order task, the items can be picked into an order container. An order container can be associated with at least one order. Usually, a plurality of workstations 1302 are provided on one side of the inventory area 130.
[0074] The control server 120 is a software system running on a server with data storage and information processing capabilities, and can be connected to access devices, robots, hardware input systems, and other software systems via wireless or wired connections. The control server 120 may include one or more servers, and may be a centralized control architecture or a distributed computing architecture. The control server 120 has a processor 121 and a memory 122, and the memory 122 may have an order pool 123.
[0075] The control server 120 communicates wirelessly with the robot 110, and the staff can operate the control server 120 through the operation console 140, and the robot 110 performs the corresponding task under the control of the control server 120. For example, the control server 120 plans a moving path for the robot 110 according to the task, and the robot 110 moves along the empty space (a part of the passage of the robot 110) in the inventory container array composed of the inventory containers 1301 according to the moving path.
[0076] In order to facilitate planning of the moving path for the robot 110, the working area of the robot 110 (the working area at least includes the area where the inventory area 130 is located) is divided into several sub-areas (i.e. cells) in advance, and the robot 110 moves cell by cell to form a moving trajectory.
[0077] Embodiment 1
[0078] based on Figure 1a The provided system, in the disclosed embodiment, provides a robot task allocation method in order to reduce congestion caused by the intersection of robot paths due to dynamic scheduling of robots between different workstations. The inventory container is divided into a number of inventory partitions according to preset logical rules, and a binding relationship between the workstation and the target inventory partition and a binding relationship between the robot and the target inventory partition are established respectively. Thus, a binding relationship between the workstation and the robot is established through the target inventory partition, so that the robot only needs to move within a fixed area, avoiding congestion caused by the intersection of the robot's movement paths, while also reducing the robot's walking distance and reducing its energy consumption.
[0079] like Figure 1b As shown, it is a flowchart of a robot task allocation method provided by an embodiment of the present disclosure, comprising the following steps:
[0080] S101: Divide the inventory container into a plurality of inventory partitions according to a preset logic.
[0081] S102: Determine the first time loss for the robot to reach each workstation from each inventory partition, and bind a target inventory partition to each workstation according to the first time loss.
[0082] S103: Determine a second time loss for the robot to reach each target inventory partition from the current position, and bind the target inventory partition to each robot according to the second time loss.
[0083] According to an embodiment of the present disclosure, the control server 120 can be configured to divide the inventory container 1301 into multiple inventory partitions according to a preset logic. The inventory partitioning methods include but are not limited to: partitioning according to one or any combination of inventory container location, SKU (Stock Keeping Unit) or workstation location. For example, the inventory can be partitioned according to the location of the inventory container, or according to the correlation between SKUs between inventory containers, or according to the workstation location, etc., which are introduced below.
[0084] The first partitioning method is to partition according to the location of the inventory container.
[0085] In this embodiment, the control server can Figure 2a The process shown partitions the inventory container:
[0086] S201: Determine the time loss for the robot to reach the workstation from each inventory container location.
[0087] In this step, the time loss for the robot to reach the workstation from each inventory container position is first determined. Taking the inventory container as a shelf as an example, the time loss function can be used to determine the time loss for the robot to reach each workstation from each shelf position based on the distance between the center position coordinates of the shelf position and the center position coordinates of the workstation.
[0088] For example, for each shelf position, a path planning algorithm can be used to determine the path of the robot from the shelf position to each workstation, the path is composed of several cells, and the time loss of the robot from the shelf position to each workstation is determined by a time cost function, such as a Routcost function. Thus, a time loss matrix of the robot from each shelf position to each workstation can be established.
[0089] In specific implementation, the time loss for the robot to reach any workstation from the shelf position can be determined according to the following method: the robot starts from the shelf position according to the planned path. If the forward direction is the same as the current direction, the time for walking one cell is increased. If the forward direction is different from the current direction, the time for turning and walking one cell is increased until it reaches the target workstation.
[0090] In order to reduce the calculation error of the determined time loss, in one embodiment, a path planning algorithm can be used to obtain the driving path information of the robot from each workstation to the inventory partition corresponding to the workstation. According to the planned driving path information, the driving road conditions and driving distance to be used from the workstation to the inventory partition can be determined. When simulating the transportation time from the workstation to the inventory partition, not only the driving distance but also the driving conditions need to be considered, because some obstacles involved in the driving conditions will cause additional transportation time during the driving process.
[0091] The driving conditions can reflect the driving obstacles that may cause additional time consumption when the robot is driving along the driving path. For example, the driving obstacles may include: the driving path is temporarily occupied by other robots and there is congestion during driving, which causes the robot carrying the inventory container to be adjusted to slow down; and the driving path includes special sections such as turns, which causes the robot carrying the inventory container to be adjusted to spend more time to complete the turn.
[0092] For each shelf, the time it takes to transport items from the shelf to each workstation is calculated based on the distance from the shelf to each workstation and the road conditions from the shelf to each workstation. Furthermore, based on the time it takes to transport items from the shelf to each workstation, a time loss matrix for the robot to reach each workstation from each shelf can be established.
[0093] S202: Clustering based on time loss.
[0094] In this step, clustering is performed based on the time loss. In specific implementation, the shelf positions can be clustered using a clustering algorithm based on the time loss of the robot from each shelf position to the workstation.
[0095] S203: Divide the inventory container into a plurality of inventory partitions according to the clustering result.
[0096] like Figure 2b As shown, it is a schematic diagram of inventory partitioning obtained by dividing the inventory container according to the first partitioning method.
[0097] In one embodiment, the inventory partitions obtained by partitioning according to the inventory container locations include physical partitions and / or virtual partitions; when the inventory partitions are virtual partitions, the robot can be configured to move inventory containers belonging to the same virtual partition to the same physical partition in response to control instructions sent by the control server.
[0098] The second partitioning method is partitioning by SKU.
[0099] In this embodiment, the control server can Figure 3a The process shown partitions the inventory area:
[0100] S301: Counting SKU correlation parameters of all inventory containers in the inventory area.
[0101] During specific implementation, the SKU correlation parameters of different inventory containers can be determined based on historical order data.
[0102] S302: Determine correlation parameters between inventory containers according to SKU correlation parameters of the inventory containers.
[0103] S303: Divide the inventory container into a plurality of inventory partitions according to correlation parameters between the inventory containers.
[0104] In this step, the inventory containers in the inventory area may be logically divided according to correlation parameters between the inventory containers.
[0105] like Figure 3b As shown, it is a schematic diagram of inventory partitioning obtained by dividing the inventory container according to the second partitioning method, wherein 31 is a shelf for one SKU, 32 is a shelf for another SKU, and 33 is a shelf for yet another SKU. Shelf 31 is bound to the first workstation, shelf 32 is bound to the second workstation, and shelf 33 is bound to the third workstation.
[0106] The third partitioning method is to determine that the inventory containers in the depth direction facing the workstation belong to the same inventory partition based on the arrangement position of all inventory containers in the inventory area and the position of the workstation, or to divide the inventory containers into multiple inventory partitions based on the original physical position of the workstation.
[0107] In specific implementation, this division method is relatively simple, that is, one or more rows of inventory containers in front of the workstation are divided into the same inventory partition. Figure 4 As shown, it is a schematic diagram of inventory partitions obtained by dividing inventory containers according to physical locations.
[0108] Based on the inventory partitions obtained by the above division, in step S102, a binding relationship between the workstation and the inventory partition can be established according to the first time loss of the robot from the workstation to each inventory partition. In specific implementation, step S102 can be implemented in any of the following ways:
[0109] A first implementation method is to bind a target inventory partition to each workstation in the order of the first time loss from small to large.
[0110] In this implementation, the number N of inventory partitions bound to the workstation can be determined based on the number of workstations and the number of divided inventory partitions. For each workstation, N target inventory partitions are bound to the workstation according to the first time loss for the workstation to reach each inventory partition, where N is a positive integer and N can be different.
[0111] For example, assuming that there are 12 inventory partitions and 3 workstations in total, and an inventory partition is bound to each workstation according to the average distribution method, that is, the number of inventory partitions that can be bound to each workstation is 4. Then, for the first workstation, 4 inventory partitions can be selected in ascending order based on the first time loss to each inventory partition; for the second workstation, 4 inventory partitions can be selected in ascending order based on the first time loss to the remaining inventory partitions except the allocated inventory partition, and so on, until the corresponding number of inventory partitions are bound to each workstation.
[0112] The second implementation method uses a polling method to bind the target inventory partition to each workstation.
[0113] In this implementation manner, one inventory partition may be bound to each workstation at a time until all inventory partitions are allocated.
[0114] Continuing with the above example, in the first round of allocation, for the first workstation, one inventory partition can be selected based on the order of the first time loss to each inventory partition from small to large; for the second workstation, one inventory partition can be selected based on the order of the first time loss to the remaining inventory partitions except the allocated inventory partition from small to large, and so on, to complete the first round of allocation; then the second round of allocation is carried out, for the first workstation, one inventory partition can be selected based on the order of the first time loss to the remaining inventory partitions except the allocated inventory partition from small to large, for the second workstation, one inventory partition can be selected based on the order of the first time loss to the remaining inventory partitions except the allocated inventory partition from small to large, and so on, until the second round of allocation is completed, and the above process is repeated until all inventory partitions are allocated. In this example, all allocations can be completed through four rounds.
[0115] A third implementation method is to bind a target inventory partition to each workstation in a clustering manner.
[0116] In this implementation, based on the time loss matrix of each workstation reaching each inventory partition, in each clustering process, for each workstation, the minimum time loss value is selected from the time loss matrix for clustering. It should be noted that in each clustering, the minimum value needs to be selected from different rows in the time loss matrix for clustering. Continuing with the above example, assuming that there are 12 inventory partitions and 3 workstations, the established time loss matrix is a 12*3 matrix, and the binding result is obtained through clustering.
[0117] After binding a corresponding target inventory partition to each workstation, in the embodiment of the present disclosure, the corresponding target inventory partition may also be bound to the robot based on the second time loss for the robot to reach each target inventory partition from the current position.
[0118] In specific implementation, the implementation method of binding the target inventory partition for the robot according to the second time loss is similar to the above-mentioned implementation method of binding the target inventory partition for the workstation according to the first time loss. Therefore, its specific implementation can refer to the above-mentioned implementation method of binding the target inventory partition for the workstation, which will not be repeated here.
[0119] Through the above process, a binding relationship between the workstation and the target inventory partition, as well as a binding relationship between the robot and the target inventory partition are established. Thus, a binding relationship between the robot and the workstation can be established. In this way, the robot only needs to move in the inventory partition corresponding to the bound workstation, avoiding congestion caused by the intersection of motion paths caused by dynamic scheduling of the robot between different workstations. At the same time, compared with the robot's service area covering the entire inventory area, movement within a certain divided inventory partition can reduce the robot's walking distance and save the robot's energy consumption.
[0120] Embodiment 2
[0121] After binding workstations, robots and corresponding inventory partitions according to the divided inventory partitions, there may be an imbalance in the task load between workstations during the corresponding order task process, that is, some workstations have a large task load and the robots are overloaded, while some workstations have a small task load and some robots bound to the workstations are idle or undersaturated, resulting in a waste of robot resources. In this case, in order to improve the task processing efficiency and the utilization rate of robot resources, the embodiment of the present disclosure adds dynamic scheduling of robots on the basis of binding robots to workstations as described above.
[0122] like Figure 5 As shown, it is a schematic diagram of the process of scheduling robots for workstations with overloaded tasks, which may include the following steps:
[0123] S501: For a target workstation whose current task volume exceeds the load, determine respectively a fourth time loss for a currently available robot to reach the inventory partition corresponding to each target workstation from the current position.
[0124] Among them, currently available robots include idle robots and robots on the way to return, etc.
[0125] S502: Scheduling available robots for each target workstation according to the determined fourth time loss.
[0126] In specific implementation, the proportion of the number of robots that need to be replenished at each target workstation can be determined respectively, wherein the higher the proportion, the greater the task volume of the target workstation, and the more urgent the need to replenish robots. According to the fourth time loss determined in step S501, the currently available robots are dispatched for each target workstation in descending order of the proportion of the number of robots that need to be replenished at the target workstation.
[0127] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.
[0128] Based on the same inventive concept, the embodiment of the present disclosure also provides a robot task allocation device corresponding to a robot task allocation method. Since the principle of solving the problem by the device in the embodiment of the present disclosure is similar to the above-mentioned robot task allocation method in the embodiment of the present disclosure, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0129] Embodiment 3
[0130] Reference Figure 6 As shown, it is a structural schematic diagram of a robot task allocation device, including:
[0131] A partitioning unit 601 is used to divide the inventory container into a plurality of inventory partitions according to a preset logic;
[0132] A first determining unit 602 is used to determine a first time loss for the robot to reach each workstation from each inventory partition, and bind a target inventory partition to each workstation according to the first time loss;
[0133] The second determining unit 603 is used to determine a second time loss for the robot to reach each target inventory partition from the current position, and bind the target inventory partition to each robot according to the second time loss.
[0134] In an optional implementation manner, the division unit includes:
[0135] A first determination module, configured to determine a third time loss for the robot to reach the workstation from each inventory container location;
[0136] A clustering module is used to perform clustering according to the third time loss; and divide the inventory container into a plurality of inventory partitions according to the clustering result.
[0137] In an optional implementation manner, the inventory partition includes a physical partition and / or a virtual partition; the device further includes:
[0138] The control unit is used to control the robot to move inventory containers belonging to the same virtual partition to the same physical partition when the inventory partition is a virtual partition.
[0139] In an optional implementation manner, the division unit includes:
[0140] Statistics module, used to count the SKU correlation parameters of all inventory containers in the inventory area;
[0141] The second determination module is used to determine the correlation parameters between inventory containers according to the SKU correlation parameters of the inventory containers; and divide the inventory containers into a plurality of inventory partitions according to the correlation parameters between the inventory containers.
[0142] In an optional implementation manner, the division unit includes:
[0143] The third determination module is used to determine that the inventory containers in the depth direction facing the workstation belong to the same inventory partition based on the arrangement positions of all inventory containers in the inventory area and the position of the workstation, or to divide the inventory containers into multiple inventory partitions based on the original physical positions of the workstations.
[0144] In an optional implementation, a scheduling unit is further included, wherein:
[0145] The second determination unit is further used to determine, for each target workstation whose current task volume exceeds the load, a fourth time loss for the currently available robot to reach the inventory partition corresponding to each target workstation from the current position;
[0146] The scheduling unit is used to schedule available robots for each target workstation according to the fourth time loss.
[0147] In an optional implementation manner, the scheduling unit further includes a fourth determining module, wherein:
[0148] The fourth determination module is used to determine the proportion of the number of robots that need to be supplemented at each target workstation before the scheduling unit schedules the available robots for each target workstation according to the fourth time loss;
[0149] The scheduling unit is further used to, specifically, schedule available robots for each target workstation in sequence according to the fourth time loss and in descending order of the proportion of the number of robots that need to be replenished at the target workstation.
[0150] Embodiment 4
[0151] Based on the same technical concept, the embodiment of the present disclosure also provides an electronic device. Figure 7As shown, it is a schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure, including a processor 701, a memory 702, and a bus 703. Among them, the memory 702 is used to store execution instructions, including a memory 7021 and an external memory 7022; the memory 7021 here is also called an internal memory, which is used to temporarily store the operation data in the processor 701, and the data exchanged with the external memory 7022 such as a hard disk. The processor 701 exchanges data with the external memory 7022 through the memory 7021. When the electronic device is running, the processor 701 communicates with the memory 702 through the bus 703, so that the processor 701 executes the execution instructions mentioned in the above method embodiment.
[0152] The present disclosure also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of a robot task allocation method described in the above method embodiment are executed. The storage medium can be a volatile or non-volatile computer-readable storage medium.
[0153] A computer program product of a robot task assignment method provided in an embodiment of the present disclosure includes a computer-readable storage medium storing program code, and the instructions included in the program code can be used to execute the steps of a robot task assignment method described in the above method embodiment. For details, please refer to the above method embodiment, which will not be repeated here.
[0154] The present disclosure also provides a computer program, which implements any one of the methods of the aforementioned embodiments when executed by a processor. The computer program product can be implemented in hardware, software, or a combination thereof. In an optional embodiment, the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK), etc.
[0155] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the method and device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In the several embodiments provided in the present disclosure, it should be understood that the disclosed method and device can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0156] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0157] In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0158] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present disclosure, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling an electronic device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0159] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present disclosure, which are used to illustrate the technical solutions of the present disclosure, rather than to limit them. The protection scope of the present disclosure is not limited thereto. Although the present disclosure is described in detail with reference to the above-described embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-described embodiments within the technical scope disclosed in the present disclosure, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure, and should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.
Claims
1. A robot task allocation method, It is characterized in that include: Divide a plurality of inventory containers in an inventory area into a plurality of inventory partitions according to a preset logic; wherein the warehouse management system includes the inventory area and a plurality of workstations, and the preset logic is related to the position of each inventory container in the plurality of inventory containers, or the stock keeping unit (SKU) of each inventory container, or the time loss of a robot from each inventory container to each workstation; Determine a first time loss for the robot to reach each workstation from each inventory partition, and bind a target inventory partition to each workstation according to the first time loss; wherein the multiple inventory partitions include the target inventory partition; The second time loss for the robot to reach each target inventory partition corresponding to each workstation from the current position is determined, and the target inventory partition is bound to the robot according to the second time loss.
2. The method according to claim 1, It is characterized in that In the case where the preset logic is related to the time loss of the robot from each inventory container to each workstation, the inventory container is divided into a plurality of inventory partitions according to the preset logic, including: determining a third time loss for the robot to reach each workstation from each inventory container location; Performing clustering according to the third time loss to obtain a clustering result; The plurality of inventory containers are divided into the plurality of inventory partitions according to the clustering result.
3. The method according to claim 2, It is characterized in that The inventory partition includes a physical partition and / or a virtual partition; and in the case where the inventory partition is a virtual partition, the method further includes: The robot is controlled to move inventory containers belonging to the same virtual partition to the same physical partition.
4. The method according to claim 1, It is characterized in that In the case where the preset logic is related to the SKU of each inventory container, dividing the multiple inventory containers in the inventory area into multiple inventory partitions according to the preset logic includes: Counting the SKU correlation parameters of each inventory container in the inventory area; Determine correlation parameters between inventory containers according to SKU correlation parameters of each inventory container; The plurality of inventory containers are divided into the plurality of inventory partitions according to correlation parameters between the inventory containers.
5. The method according to claim 1, It is characterized in that In a case where the preset logic is related to the positions of the inventory containers, dividing the plurality of inventory containers in the inventory area into a plurality of inventory partitions according to the preset logic includes: According to the arrangement position of each inventory container in the inventory area and the position of each workstation, it is determined that the inventory containers in the depth direction facing each workstation belong to the same inventory partition, or the multiple inventory containers are divided into the multiple inventory partitions according to the original physical position of each workstation.
6. The method according to any one of claims 1 to 5, It is characterized in that The step of binding a target inventory partition for each workstation according to the first time loss includes: Bind the target inventory partition to each workstation in the order of the first time loss from small to large; or, According to the first time loss, a polling method is used to bind a target inventory partition to each workstation; or, According to the first time loss, a time loss matrix for each workstation to reach each inventory partition is determined; for each workstation, a minimum time loss value is selected from the time loss matrix for clustering to obtain a clustering result; and a target inventory partition is bound to each workstation based on the clustering result.
7. The method according to any one of claims 1 to 5, It is characterized in that The method further comprises: For the target workstations whose current task volume exceeds the load, respectively determine the fourth time loss of the currently available robots from the current position to the inventory partition corresponding to each target workstation; According to the fourth time loss, available robots are scheduled for each target workstation.
8. The method according to claim 7, It is characterized in that Before scheduling available robots for each target workstation according to the fourth time loss, the method further includes: Determine the proportion of robots that need to be replenished at each target workstation; and The step of scheduling available robots for each target workstation according to the fourth time loss comprises: According to the fourth time loss, available robots are scheduled for each target workstation in descending order of the proportion of the number of robots that need to be supplemented at each target workstation.
9. The method according to any one of claims 1 to 5, It is characterized in that After binding the target inventory partition to each robot according to the second time loss, the method further includes: Determine the binding relationship between the robot and each workstation according to the target inventory partition bound to each workstation and the target inventory partition bound to the robot; The robot is controlled to perform corresponding tasks in the target inventory partition corresponding to the workstation with a binding relationship.
10. A robot task allocation device, It is characterized in that include: A division unit, configured to divide a plurality of inventory containers in an inventory area into a plurality of inventory partitions according to a preset logic; wherein the warehouse management system includes the inventory area and a plurality of workstations, and the preset logic is related to the position of each inventory container in the plurality of inventory containers, or the stock keeping unit (SKU) of each inventory container, or the time loss of a robot from each inventory container to each workstation; A first determining unit, configured to determine a first time loss for the robot to reach each workstation from each inventory partition, and bind a target inventory partition to each workstation according to the first time loss; The second determination unit is used to determine the second time loss for the robot to reach each target inventory partition corresponding to each workstation from the current position, and bind the target inventory partition to the robot according to the second time loss.
11. The device according to claim 10, It is characterized in that In the case where the preset logic is related to the time loss of the robot from each inventory container to each workstation, the division unit includes: A first determination module, configured to determine a third time loss for the robot to reach each workstation from each inventory container location; A clustering module is configured to perform clustering according to the third time loss to obtain a clustering result; and divide the plurality of inventory containers into the plurality of inventory partitions according to the clustering result.
12. The device according to claim 11, It is characterized in that The inventory partition includes a physical partition and / or a virtual partition; the device further includes: The control unit is used to control the robot to move inventory containers belonging to the same virtual partition to the same physical partition when the inventory partition is a virtual partition.
13. The device according to claim 10, It is characterized in that In the case where the preset logic is related to the SKU of each inventory container, the dividing unit includes: A statistics module, used for counting the SKU correlation parameters of each inventory container in the inventory area; The second determination module is used to determine the correlation parameters between the inventory containers according to the SKU correlation parameters of the inventory containers; and divide the inventory containers into a plurality of inventory partitions according to the correlation parameters between the inventory containers.
14. The device according to claim 10, It is characterized in that In the case where the preset logic is related to the positions of the inventory containers, the dividing unit includes: The third determination module is used to determine that the inventory containers in the depth direction facing the workstation belong to the same inventory partition based on the arrangement positions of the inventory containers in the inventory area and the positions of the workstations, or to divide the multiple inventory containers into the multiple inventory partitions based on the original physical positions of the workstations.
15. The device according to any one of claims 10 to 14, It is characterized in that The first determining unit is specifically configured to: Bind the target inventory partition to each workstation in the order of the first time loss from small to large; or, According to the first time loss, a polling method is used to bind a target inventory partition to each workstation; or, Determine a time loss matrix for each workstation to reach each inventory partition according to the first time loss; For each of the workstations, select the minimum time loss value from the time loss matrix for clustering to obtain a clustering result; A target inventory partition is bound to each workstation based on the clustering result.
16. The device according to any one of claims 10 to 14, It is characterized in that The device also includes a scheduling unit, wherein: The second determination unit is further used to determine, for each target workstation whose current task volume exceeds the load, a fourth time loss for the currently available robot to reach the inventory partition corresponding to each target workstation from the current position; The scheduling unit is used to schedule available robots for each target workstation according to the fourth time loss.
17. The device according to claim 16, It is characterized in that The scheduling unit further includes a fourth determining module, wherein: The fourth determination module is used to determine the proportion of the number of robots that need to be supplemented at each target workstation before the scheduling unit schedules the available robots for each target workstation according to the fourth time loss; The scheduling unit is further configured to schedule available robots for each target workstation in order according to the fourth time loss and in descending order of the proportion of the number of robots that need to be replenished at each target workstation.
18. The device according to any one of claims 10 to 14, It is characterized in that The device also includes a third determination unit and a control unit; The third determining unit is used to determine the binding relationship between the robot and each workstation according to the target inventory partition bound to each workstation and the target inventory partition bound to the robot; The control unit is used to control the robot to perform corresponding tasks in the target inventory partition corresponding to the workstation with a binding relationship.
19. An electronic device, It is characterized in that include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate via the bus, and when the machine-readable instructions are executed by the processor, the steps of the robot task allocation method as described in any one of claims 1 to 9 are performed.
20. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the robot task allocation method as described in any one of claims 1 to 9 are executed.