Control Method, Device, Equipment and Computer Readable Storage Medium of a Warehousing System

Through the distance between the computer robot and the tunnel and the number of tasks to be allocated, the KM algorithm is used to optimize the matching between the robot and the tunnel, which solves the problem of poor matching between the robot and the tunnel in the storage system and improves the task execution efficiency.

CN114595907BActive Publication Date: 2025-07-08WUXI QUICKTRON INTELLIGENT TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011404457.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-04
Publication Date
2025-07-08
Estimated Expiration
2040-12-04

AI Technical Summary

Technical Problem

The matching degree between robots and tunnels in the warehousing system is poor, resulting in low efficiency in expiration of outbound tasks or inbound tasks.

Method used

Through the distance between the computer robot and the tunnel and the number of tasks to be allocated, the KM algorithm is used to obtain the best matching result, the robot and tunnel is reasonably allocated, and the KM algorithm is used to obtain the best matching result, and the robot and tunnel is reasonably allocated, so as to improve the task execution efficiency.

Benefits of technology

The best matching results between the robot and the tunnel are quickly and accurately calculated. The distribution of the robot in each tunnel is relatively reasonable, which improves the execution efficiency of outbound tasks and inbound tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114595907B_ABST
    Figure CN114595907B_ABST
Patent Text Reader

Abstract

The present application discloses a control method, device, equipment and computer-readable storage medium for a warehousing system. Among them, the control method of the warehousing system includes: selecting a robot in an idle state as a to-be-matched robot; selecting a roadway with a to-be-allocated task as a to-be-matched roadway; for each to-be-matched robot, calculating the matching value of the to-be-matched robot being matched to each to-be-matched roadway according to the distance between the to-be-matched robot and each to-be-matched roadway and the number of to-be-allocated tasks of each to-be-matched roadway, and selecting the to-be-matched roadway with the highest matching value as the target roadway of the to-be-matched robot; allocating the to-be-allocated task of the target roadway to the corresponding matched robot. By adopting the above scheme, the best matching result between the robot and the roadway can be quickly and accurately obtained, and the distribution of the robots in each roadway is relatively reasonable, which is beneficial to improving the efficiency of the robot in performing the outbound task and the inbound task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of warehousing technology, and in particular, to a control method, device, equipment, and computer-readable storage medium for a warehousing system. Background Art

[0002] In the related art, a warehousing system usually uses a handling robot to move to an aisle to perform an outbound task or an inbound task. Since there are many aisles and robots in the warehousing system, involving the matching problem between aisles and robots, it is difficult to ensure the uniform distribution of robots among the aisles, thus affecting the execution efficiency of the outbound task or the inbound task. Summary of the Invention

[0003] Embodiments of this application provide a control method, device, equipment, and computer-readable storage medium for a warehousing system to solve the problems existing in the related art. The technical solutions are as follows:

[0004] In a first aspect, embodiments of this application provide a control method for a warehousing system, including:

[0005] Selecting a robot in an idle state as a to-be-matched robot;

[0006] Selecting an aisle with a task to be assigned as a to-be-matched aisle;

[0007] For each to-be-matched robot, calculating a matching value of the to-be-matched robot matching to each to-be-matched aisle according to the distance between the to-be-matched robot and each to-be-matched aisle and the number of tasks to be assigned in each to-be-matched aisle, and selecting the to-be-matched aisle with the highest matching value as the target aisle of the to-be-matched robot;

[0008] Assigning the task to be assigned in the target aisle to the corresponding matched robot.

[0009] In an implementation, selecting an aisle with a task to be assigned as a to-be-matched aisle includes:

[0010] Selecting an aisle with a task to be assigned and no robot as the first to-be-matched aisle;

[0011] In the case where the number of the first to-be-matched aisles is less than the number of to-be-matched robots, selecting an aisle with a task to be assigned and having a robot as the second to-be-matched aisle.

[0012] In an implementation, the matching value W of the to-be-matched robot matching to the to-be-matched aisle ij Satisfies the following formula:

[0013]

[0014] Wherein, d is the to-be-matched robot x iThe distance, d, between the roadway y to be matched j and max is the maximum value of the distances between each robot to be matched and each roadway to be matched. m is the number of tasks to be assigned to the roadway y j of max is the maximum value of the numbers of tasks to be assigned to each roadway to be matched. n is the number of mandatory priority tasks of the roadway y j of max is the maximum value of the numbers of mandatory priority tasks of each roadway to be matched. u1, u2, and u3 are preset values.

[0015] In one embodiment, assigning the tasks to be assigned of the target roadway to the corresponding matched robots includes:

[0016] Calculating the number of tasks that can be assigned for the target roadway;

[0017] When the number of tasks that can be assigned is greater than 0, dividing the target roadway into corresponding working areas according to the number of matched robots;

[0018] Selecting the matched robots with the number of tasks assigned less than the task upper limit threshold as the robots to be assigned;

[0019] For each robot to be assigned, calculating the assignment value for assigning each task that can be assigned to the robot to be assigned according to the distance between the robot to be assigned and the target bins corresponding to each task that can be assigned, and the number of working areas passed by the robot to be assigned when moving to the target bins corresponding to each task that can be assigned, and selecting the task that can be assigned with the highest assignment value as the target task of the robot to be assigned.

[0020] In one embodiment, calculating the number of tasks that can be assigned for the target roadway includes:

[0021] Adding the minimum value between the number of outbound tasks to be assigned and the number of available buffer bits of the target roadway to the minimum value between the number of inbound tasks to be assigned and the number of available storage bits of the target roadway to obtain a first reference value;

[0022] Multiplying the number of matched robots by the task upper limit threshold minus the total number of tasks already assigned to all matched robots to obtain a second reference value;

[0023] Selecting the minimum value between the first reference value and the second reference value as the number of tasks that can be assigned for the target roadway.

[0024] In one embodiment, the assignment value U ij for assigning the task that can be assigned to the robot to be assigned satisfies the following formula:

[0025]

[0026] where f is the robot a to be assignedi The number of work areas spanned by the assignable tasks, where g is the robot a to be assigned i The distance traveled to perform the assignable tasks, g max For each robot a to be assigned i The maximum value of the distances traveled to perform the assignable tasks, where e1 and e2 are preset values.

[0027] In a second aspect, an embodiment of the present application provides a control device for a warehousing system, including:

[0028] A to-be-matched robot selection module, configured to select a robot in an idle state as a to-be-matched robot;

[0029] A to-be-matched roadway selection module, configured to select a roadway with an assignable task as a to-be-matched roadway;

[0030] A target roadway selection module, configured to calculate a matching value of the to-be-matched robot matching to each to-be-matched roadway according to the distance between the to-be-matched robot and each to-be-matched roadway and the number of assignable tasks of each to-be-matched roadway, and select the to-be-matched roadway with the highest matching value as the target roadway of the to-be-matched robot;

[0031] A task assignment module, configured to assign the assignable tasks of the target roadway to the corresponding matched robots.

[0032] In one implementation, the to-be-matched roadway selection module includes:

[0033] A first to-be-matched roadway selection unit, configured to select a roadway with an assignable task and no robots as a first to-be-matched roadway;

[0034] A second to-be-matched roadway selection unit, configured to select a roadway with an assignable task and robots as a second to-be-matched roadway in the case where the number of first to-be-matched roadways is less than the number of to-be-matched robots.

[0035] In one implementation, the matching value W of the to-be-matched robot matching to the to-be-matched roadway ij Satisfies the following formula:

[0036]

[0037] Where d is the to-be-matched robot x i And the to-be-matched roadway y j The distance between them, d max Is the maximum value of the distances between each to-be-matched robot and each to-be-matched roadway, m is the number of assignable tasks of the to-be-matched roadway y j Of them, m max Is the maximum value of the numbers of assignable tasks of each to-be-matched roadway, n is the to-be-matched roadway y jThe number of forced priority tasks, n max is the maximum value among the number of forced priority tasks of each lane to be matched, and u1, u2, and u3 are preset values.

[0038] In one implementation, the task allocation module includes:

[0039] An assignable task number calculation unit for calculating the number of assignable tasks for the target lane;

[0040] A work area division unit for dividing the corresponding number of work areas in the target lane according to the number of matched robots when the number of assignable tasks is greater than 0;

[0041] A robot to be assigned selection unit for selecting a matched robot with an assigned task number less than the task upper limit threshold as the robot to be assigned;

[0042] A target task selection unit for calculating, for each robot to be assigned, an assignment value for assigning each assignable task to the robot to be assigned according to the distance between the robot to be assigned and the target bins corresponding to the assignable tasks, and the number of work areas passed by the robot to be assigned when moving to the target bins corresponding to the assignable tasks, and selecting the assignable task with the highest assignment value as the target task of the robot to be assigned.

[0043] In one implementation, the assignable task number calculation unit includes:

[0044] A first reference value calculation sub-unit for adding the minimum value between the number of tasks to be assigned for outbound in the target lane and the number of idle buffer positions to the minimum value between the number of tasks to be assigned for inbound in the target lane and the number of idle storage positions to obtain a first reference value;

[0045] A second reference value calculation sub-unit for multiplying the number of matched robots by the task upper limit threshold minus the total number of assigned tasks of all matched robots to obtain a second reference value;

[0046] An assignable task number calculation sub-unit for selecting the minimum value between the first reference value and the second reference value as the number of assignable tasks for the target lane.

[0047] In one implementation, the assignment value U for assigning the assignable task to the robot to be assigned ij satisfies the following formula:

[0048]

[0049] where f is the number of work areas crossed by the robot a to be assigned i when executing the assignable task, and g is the distance moved by the robot a to be assigned i when executing the assignable task, and g maxFor each robot a to be assigned i The maximum value of the distance moved for performing assignable tasks, where e1 and e2 are preset values.

[0050] In a third aspect, an embodiment of the present application provides an electronic device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, so that the at least one processor can execute the control method of the above-mentioned warehousing system.

[0051] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores computer instructions. When the computer instructions run on a computer, the methods in any of the above aspects are executed.

[0052] By adopting the above solution, the control method of the warehousing system in the embodiment of the present application can quickly and accurately obtain the best matching result between the robot and the roadway, and the distribution of the robots in each roadway is relatively reasonable, which is beneficial to improving the efficiency of the robots performing the outbound task and the inbound task.

[0053] The above summary is only for the purpose of the specification and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features of the present application will be readily apparent by reference to the drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] In the drawings, unless otherwise specified, the same reference numerals throughout the several views denote the same or similar components or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in the present application and should not be regarded as limiting the scope of the present application.

[0055] Figure 1 is a flowchart of the control method of the warehousing system according to an embodiment of the present application;

[0056] Figure 2 is Figure 1 a specific flowchart of step S102 in;

[0057] Figure 3 is Figure 1 a specific flowchart of step S104 in;

[0058] Figure 4 is Figure 3 a specific flowchart of step S301 in;

[0059] Figure 5 is a block diagram of the control device of the warehousing system according to an embodiment of the present application;

[0060] Figure 6 is Figure 5 a block diagram of the roadway selection module to be matched in

[0061] Figure 7 is Figure 5 a block diagram of the task assignment module in

[0062] Figure 8 is Figure 7 a block diagram of the assignable task number calculation unit in

[0063] Figure 9 is a block diagram of an electronic device according to an embodiment of the present application. Detailed implementation manners

[0064] In the following, only some exemplary embodiments are simply described. As those skilled in the art can recognize, the described embodiments can be modified in various different ways without departing from the spirit or scope of the present application. Therefore, the drawings and the description are considered to be exemplary in nature and not restrictive.

[0065] Next, refer to Figures 1-4 to describe a control method for a warehousing system according to an embodiment of the present application. The control method for a warehousing system according to an embodiment of the present application can be applied to a warehousing system for allocating robots to roadways with tasks to be assigned and assigning the tasks to be assigned to robots.

[0066] Figure 1 shows a flowchart of a control method for a warehousing system according to an embodiment of the present application. As Figure 1 shown, the control method includes:

[0067] Step S101: Select a robot in an idle state as a robot to be matched;

[0068] Step S102: Select a roadway with a task to be assigned as a roadway to be matched;

[0069] Step S103: For each robot to be matched, calculate a matching value for the robot to be matched to each roadway to be matched according to the distance between the robot to be matched and each roadway to be matched and the number of tasks to be assigned in each roadway to be matched, and select the roadway to be matched with the highest matching value as the target roadway of the robot to be matched;

[0070] Step S104: Assign the tasks to be assigned in the target roadway to the corresponding matched robots.

[0071] Exemplarily, a robot in the idle state refers to a robot that is not currently performing a task, specifically including a robot in a roadway where there is no task to be assigned and a robot outside the roadway that has not performed a task.

[0072] Exemplarily, a roadway with tasks to be assigned can be a roadway with tasks to be assigned for outbound and / or inbound operations in the current state. Among them, the outbound task refers to the task of transporting a bin from the storage location of the shelf to the buffer location and then from the buffer location to the workstation; the inbound task can be the task of transporting a bin from the workstation to the buffer location of the shelf and then from the buffer location to the storage location.

[0073] Exemplarily, the distance between a robot to be matched and a roadway to be matched can be the Manhattan distance between the current position of the robot to be matched and any roadway entrance of the roadway to be matched, that is, the total absolute axis distance between the current position of the robot to be matched and the roadway entrance of the roadway to be matched in the standard coordinate system. The number of tasks to be assigned in the roadway to be matched can be the sum of the current number of outbound and inbound tasks to be assigned and the number of inbound tasks to be assigned in the roadway to be matched. Among them, the distance between the robot to be matched and the roadway to be matched is inversely proportional to the matching value of the robot to be matched to the roadway to be matched, that is, the smaller the distance between the robot to be matched and the roadway to be matched, the larger the matching value of the robot to be matched to the roadway to be matched. The number of tasks to be assigned in the roadway to be matched is directly proportional to the matching value of the robot to be matched to the roadway to be matched, that is, the larger the number of tasks to be assigned in the roadway to be matched, the larger the matching value of the robot to be matched to the roadway to be matched.

[0074] In one example, the KM (Kuhn - Munkres) algorithm can be used to find the maximum weight matching of the robots to be matched and the roadways to be matched under complete matching.

[0075] Specifically, all robots to be matched are added to the vertex set X, and all roadways to be matched are added to the vertex set Y. For any vertex x in the point set X i and any vertex y in the point set Y j there is an edge (i, j) connected between them, and the matching value between the robot to be matched i and the roadway to be matched j is used as the weight of the edge (i, j). Thus, a weighted bipartite graph of all robots to be matched and roadways to be matched is constructed. Then, the KM algorithm is used to find the maximum weight matching of the weighted bipartite graph under complete matching, that is, to find a matching such that all vertices in the vertex set X have corresponding matching vertices from the vertex set Y, and at the same time all vertices in the vertex set Y have corresponding matching vertices from the vertex set X, and the sum of the weights of all edges (i, j) under this matching is the largest.

[0076] It can be understood that the maximum weight matching under the complete matching obtained by the KM algorithm is the best matching between the to-be-matched robot and the to-be-matched roadway, and the sum of the matching values between each group of corresponding matched robots and the target roadways reaches the maximum. Thus, the best matching result between the to-be-matched robot and the to-be-matched roadway can be quickly and accurately obtained, ensuring that each to-be-matched robot and each to-be-matched roadway have relatively high matching values as a whole, so that the distribution of robots in each roadway with tasks to be assigned is more reasonable, which is conducive to improving the execution efficiency of outbound tasks and inbound tasks.

[0077] Exemplarily, after matching the to-be-matched robot and the to-be-matched roadway to obtain the matched robot and its corresponding target roadway, a movement instruction is sent to the matched robot to control the matched robot to move to the roadway entrance of the target roadway.

[0078] Exemplarily, the tasks to be assigned in the target roadway are assigned to the corresponding matched robots, and the tasks to be assigned can be sequentially assigned to the matched robots according to the priorities of the tasks to be assigned. For example, when there are multiple tasks to be assigned and the priorities of the multiple tasks are different, the tasks to be assigned with the forced priority are preferentially assigned to the matched robots, and then the tasks to be assigned with the normal priority are assigned to the matched robots.

[0079] In addition, the assignment values of each task to be assigned and the robots can also be calculated, and the multiple tasks to be assigned are sequentially assigned to the robots in descending order of the assignment values. Among them, the assignment value can be calculated according to the distance between the matched robot and the target bin positions corresponding to each task to be assigned.

[0080] In a specific example, the warehousing system includes storage racks, workstations, a first robot, and a second robot. There are multiple storage racks arranged side by side at intervals, and a roadway is defined between two adjacent storage racks. The storage racks are provided with storage positions and buffer positions, and the storage positions and the buffer positions are arranged on different floors. For example, there can be multiple storage positions arranged at intervals in the up and down directions, and the buffer position is located below the multiple storage positions and at the bottom layer of the storage rack. The robot can move along the roadway and is used to carry the bins on the buffer position to the storage position, or carry the bins on the storage position to the buffer position. The workstation is used for the staff to sort out the goods stored in the bins or place the goods in the bins. The second robot can move between the storage rack and the workstation and is used to carry the bins on the buffer position to the workstation, or carry the bins of the workstation to the buffer position. It should be noted that the robot in the embodiment of the present application can be the first robot.

[0081] The control method of the warehousing system according to the embodiments of the present application calculates the matching values of the robots to be matched to each lane to be matched based on the distances between the robots to be matched and the lanes to be matched and the number of tasks to be assigned in each lane to be matched, and selects the lane to be matched with the highest matching value as the target lane of the robot to be matched, which solves the technical problem of low task execution efficiency in the warehousing system in the related art due to the poor matching degree between the robots and the lanes. According to the method of the embodiments of the present application, by comprehensively considering two factors, namely the distance between the robot and the lane and the number of tasks to be assigned in the lane, for matching, the best matching result between the robot and the lane can be quickly and accurately obtained, and the distribution of the robots in each lane is relatively reasonable, which is conducive to improving the efficiency of the robots in performing outbound tasks and inbound tasks.

[0082] In one implementation, the lanes to be matched include the first lane to be matched and the second lane to be matched. As Figure 2 shown, step S102 includes:

[0083] Step S201: Select the lane with tasks to be assigned and no robots as the first lane to be matched;

[0084] Step S202: In the case where the number of the first lanes to be matched is less than the number of the robots to be matched, select the lane with tasks to be assigned and robots as the second lane to be matched.

[0085] It can be understood that after selecting the first lane to be matched and the second lane to be matched, the first lane to be matched and the second lane to be matched are jointly matched with the robots to be matched.

[0086] Exemplarily, in the case where the number of the first lanes to be matched is less than the number of the robots to be matched, select the lane with tasks to be assigned and robots, calculate the ratio of the number of tasks to be assigned in the lane to the number of robots in the lane, and sequentially use the ratios from large to small as the second lanes to be matched until the sum of the number of the first lanes to be matched and the second lanes to be matched is equal to the number of the robots to be matched or all the lanes with tasks to be assigned and robots are selected.

[0087] It should be noted that in the case where the sum of the number of the first lanes to be matched and the second lanes to be matched is equal to the number of the robots to be matched, the number of vertices in vertex set X and vertex set Y is the same, and the KM algorithm can be used to obtain the perfect matching result of the robots to be matched and the lanes to be matched, that is, any vertex in vertex set X has a unique matching vertex from vertex set Y, and at the same time, all vertices in vertex set Y have a unique matching vertex from vertex set X, and the sum of the weights of all edges (i, j) under this kind of matching is the largest.

[0088] In one embodiment, the matching value W of the robot to be matched and the roadway to be matched ij satisfies the following formula:

[0089]

[0090] where d is the distance between the robot x to be matched i and the roadway y to be matched j , d max is the maximum value of the distances between each robot to be matched and each roadway to be matched, m is the number of tasks to be assigned for the roadway y to be matched j , m max is the maximum value of the numbers of tasks to be assigned for each roadway to be matched, n is the number of mandatory priority tasks for the roadway y to be matched j , n max is the maximum value of the numbers of mandatory priority tasks for each roadway to be matched, and u1, u2, and u3 are preset values. For example, u1 can be 100, u2 can be 1, and u3 can be 10,000.

[0091] It should be noted that in the above formula, when the denominator of a certain fraction is zero, the calculation result of this fraction is zero.

[0092] In an example, the distance d between the robot x to be matched i and the roadway y to be matched j can be calculated in the following way. Obtain the position p0 of the robot relative to the roadway it is in, obtain the positions p1 and p2 of the two roadway entrances of the roadway where the robot is located, and obtain the positions p3 and p4 of the two roadway entrances of the roadway to be matched. The distance d between the robot x to be matched i and the roadway y to be matched j satisfies the following formula:

[0093] d = min(d 01 + d 13 , d 01 + d 14, d 02 + d 23, d 02 + d 24 ),

[0094] where d 01 is the Manhattan distance between the position p0 and the position p1, d 13 is the Manhattan distance between the position p1 and the position p3, d 14 is the Manhattan distance between the position p1 and the position p4, d 02 is the Manhattan distance between the position p0 and the position p2, d 23 is the Manhattan distance between the position p2 and the position p324 is the Manhattan distance between position p2 and position p4.

[0095] In one embodiment, before matching the robot to be matched with the roadway to be matched, if there are mandatory priority tasks in the tasks to be assigned for the roadway to be matched and there is no robot in this roadway, robots are preferentially assigned to the roadway to be matched with mandatory priority tasks. For example, the robot closest to this roadway can be selected and matched to this roadway, or the robot in the roadway without mandatory priority tasks can be selected and matched to this roadway.

[0096] In one embodiment, as Figure 3 shown, step S104 includes:

[0097] Step S301: Calculate the number of assignable tasks for the target roadway.

[0098] Exemplarily, the number of assignable tasks includes the number of assignable inbound tasks and the number of assignable outbound tasks. Among them, the number of assignable inbound tasks can be calculated according to the number of inbound tasks to be assigned and the number of available buffer positions. The number of assignable outbound tasks can be calculated according to the number of outbound tasks to be assigned and the number of available storage positions.

[0099] Step S302: When the number of assignable tasks is greater than 0, divide the corresponding number of working areas in the target roadway according to the number of matched robots, that is, the number of matched robots is set to be equal to the number of working areas, and each matched robot corresponds to each working area one by one.

[0100] Exemplarily, when the number of working areas is multiple, the storage positions corresponding to each working area are equal, and the matched robots perform outbound tasks or inbound tasks in the corresponding working areas.

[0101] Step S303: Select the matched robots with the number of assigned tasks less than the task upper limit threshold as the robots to be assigned. Wherein, the task upper limit threshold refers to the maximum value of the number of tasks that the matched robots can be assigned.

[0102] Step S304: For each robot to be assigned, calculate the assignment value for assigning each assignable task to the robot to be assigned according to the distance between the robot to be assigned and the target bins corresponding to each assignable task, and the number of working areas passed by the robot to be assigned when moving to the target bins corresponding to each assignable task, and select the assignable task with the highest assignment value as the target task of the robot to be assigned.

[0103] Exemplarily, the distance between the robot to be assigned and the target bin corresponding to each assignable task can be the distance between the position of the robot to be assigned before task execution and the position of the buffer location where the target bin corresponding to the assignable inbound task is located, or the distance between the position of the robot to be assigned before task execution and the position of the storage location where the target bin corresponding to the assignable outbound task is located. The number of work areas passed by the robot to be assigned to reach the target bin corresponding to each assignable task refers to the number of work areas passed by the robot to be assigned during the process of moving from the current position to the position of the target bin during the execution of the assignable task.

[0104] It can be understood that the distance between the robot to be assigned and the target bin corresponding to the assignable task is inversely proportional to the assignment value of assigning the assignable task to the robot to be assigned, that is, the smaller the distance between the robot to be assigned and the target bin corresponding to the assignable task, the larger the assignment value of assigning the assignable task to the robot to be assigned. The number of work areas passed by the robot to be assigned to reach the target bin corresponding to each assignable task is inversely proportional to the assignment value of assigning the assignable task to the robot to be assigned, that is, the smaller the number of work areas passed by the robot to be assigned to reach the target bin corresponding to each assignable task, the larger the assignment value of assigning the assignable task to the robot to be assigned.

[0105] Optionally, the assignment value Uij of the assignable task assigned to the robot to be assigned satisfies the following formula:

[0106]

[0107] Wherein, f is the number of work areas spanned by the robot ai to be assigned when executing the assignable task, -g is the distance moved by the robot ai to be assigned when executing the assignable task, and g max is the maximum value of the distances moved by each robot ai to be assigned when executing the assignable task, and e1 and e2 are preset values. For example, e1 can be 100 and e2 can be 1.

[0108] It should be noted that in the above formula, when the denominator of a certain fraction is zero, the calculation result of the fraction is zero.

[0109] In addition, when the work area where the target bin corresponding to the assignable task is located is at the end of the target roadway and the robot to be assigned is not in the work area where the target bin is located, the assignment value of assigning the assignable task to the robot to be assigned approaches 0.

[0110] In one example, the KM algorithm can be used to find the maximum weight matching of the robots to be assigned and the assignable tasks under perfect matching.

[0111] Specifically, all robots to be assigned are added to the vertex set P, and all tasks to be assigned are added to the vertex set Q. For any vertex p in the point set P i and any vertex q in the point set Q j there is an edge (i, j) connected between them, and the assignment value between the robot i to be assigned and the task j to be assigned is used as the weight of the edge (i, j). Thus, a weighted bipartite graph of all robots to be assigned and tasks to be assigned is constructed. Then, the KM algorithm is used to find the maximum weight matching under the complete matching of the weighted bipartite graph, that is, to find a matching such that all vertices in the vertex set P have corresponding matching vertices from the vertex set Q, and at the same time, all vertices in the vertex set Q have corresponding matching vertices from the vertex set P, and the sum of the weights of all edges (i, j) under this matching is the largest.

[0112] It can be understood that the maximum weight matching obtained by the KM algorithm under the complete matching is the optimal assignment method for the robots to be assigned and the tasks to be assigned, and the sum of the assignment values between each corresponding robot to be assigned and the task to be assigned reaches the maximum. Thus, the optimal assignment result of the robots to be assigned and the tasks to be assigned can be quickly and accurately obtained, ensuring that each robot to be assigned and each task to be assigned have the highest assignment value as a whole, so as to improve the execution efficiency of the robot in performing the outbound task or the inbound task in the roadway.

[0113] Optionally, as Figure 4 shown, step S301 includes:

[0114] Step S401: Add the minimum value between the number of outbound tasks to be assigned and the number of idle buffer bits in the target roadway to the minimum value between the number of inbound tasks to be assigned and the number of idle storage bits in the target roadway to obtain a first reference value;

[0115] Step S402: Multiply the number of matched robots by the task upper limit threshold and subtract the total number of assigned tasks of all matched robots to obtain a second reference value; where the task upper limit threshold refers to the maximum value of the number of tasks that a single matched robot can be assigned.

[0116] Step S403: Select the minimum value between the first reference value and the second reference value as the number of assignable tasks in the target roadway.

[0117] In an example, the number of assignable outbound tasks and the number of assignable inbound tasks can also be calculated according to the number of assignable tasks, specifically including:

[0118] In the case where the number of assignable tasks is greater than 0 and the number of outbound bins in the target roadway is greater than the product of the number of idle buffer bits and the preset value v1, calculate the number of assignable inbound tasks. The number of assignable inbound tasks is the minimum value among the number of assignable tasks, the number of inbound bins located in the buffer, and the number of idle storage bits, where v1 can be 0.5;

[0119] Calculate the number of distributable outbound tasks. The number of distributable outbound tasks is the minimum value among the difference between the number of distributable tasks and the number of distributable inbound tasks, the number of outbound tasks to be distributed, the number of available buffer positions, and the comparison value. The comparison value C satisfies the following formula: C = max(0, j * v2 - k), where j is the number of available buffer positions, k is the number of outbound bins, and the preset value v2 can be 0.8.

[0120] Furthermore, calculating the number of distributable outbound tasks and the number of distributable inbound tasks according to the number of distributable tasks further includes:

[0121] When the number of distributable tasks is greater than 0 and the number of outbound bins in the target lane is less than or equal to the product of the number of available buffer positions and the preset value v1, calculate the number of distributable outbound tasks. The number of distributable outbound tasks is the minimum value among the number of distributable tasks, the number of outbound tasks to be distributed, the number of available buffer positions, and the comparison value. The comparison value C satisfies the following formula: C = max(0, j * v2 - k), where j is the number of available buffer positions, k is the number of outbound bins, and the preset value v2 can be 0.8;

[0122] Calculate the number of distributable inbound tasks. The number of distributable inbound tasks is the minimum value among the difference between the number of distributable tasks and the number of distributable outbound tasks, the number of inbound bins located in the buffer position, and the number of available storage positions.

[0123] In a second aspect, an embodiment of the present application provides a control device 500 for a warehousing system.

[0124] Figure 5 The block diagram of the control device 500 for the warehousing system according to an embodiment of the present application is shown. As Figure 5 shown, the control device 500 includes:

[0125] A robot to be matched selection module 510, configured to select a robot in an idle state as the robot to be matched;

[0126] A lane to be matched selection module 520, configured to select a lane with tasks to be distributed as the lane to be matched;

[0127] A target lane selection module 530, configured to calculate the matching value of the robot to be matched to each lane to be matched according to the distance between the robot to be matched and each lane to be matched and the number of tasks to be distributed in each lane to be matched, and select the lane to be matched with the highest matching value as the target lane of the robot to be matched;

[0128] A task allocation module 540, configured to allocate the tasks to be distributed in the target lane to the corresponding matched robots.

[0129] In an implementation manner, as Figure 6As shown, the to-be-matched roadway selection module 520 includes:

[0130] The first to-be-matched roadway selection unit 521 is used to select the roadway that has tasks to be assigned and no robots as the first to-be-matched roadway;

[0131] The second to-be-matched roadway selection unit 522 is used to select the roadway that has tasks to be assigned and has robots as the second to-be-matched roadway when the number of the first to-be-matched roadways is less than the number of to-be-matched robots.

[0132] In an implementation manner, the matching value W of the to-be-matched robot to the to-be-matched roadway ij satisfies the following formula:

[0133]

[0134] where d is the distance between the to-be-matched robot x i and the to-be-matched roadway y j d max is the maximum value of the distances between each to-be-matched robot and each to-be-matched roadway, m is the number of tasks to be assigned for the to-be-matched roadway y j m max is the maximum value of the numbers of tasks to be assigned for each to-be-matched roadway, n is the number of forced priority tasks for the to-be-matched roadway y j n max is the maximum value of the numbers of forced priority tasks for each to-be-matched roadway, and u1, u2, and u3 are preset values.

[0135] In an implementation manner, as Figure 7 shown, the task allocation module 540 includes:

[0136] The assignable task number calculation unit 541 is used to calculate the assignable task number of the target roadway;

[0137] The working area division unit 542 is used to divide the corresponding number of working areas in the target roadway according to the number of the already-matched robots when the assignable task number is greater than 0;

[0138] The to-be-assigned robot selection unit 543 is used to select the already-matched robots whose numbers of assigned tasks are less than the task upper limit threshold as the to-be-assigned robots;

[0139] The target task selection unit 544 is used to calculate the allocation value of assigning each assignable task to the to-be-assigned robot for each to-be-assigned robot according to the distance between the to-be-assigned robot and the target bins corresponding to each assignable task, and the number of working areas passed by the to-be-assigned robot when moving to the target bins corresponding to each assignable task, and select the assignable task with the highest allocation value as the target task of the to-be-assigned robot.

[0140] In one embodiment, as Figure 8 shown, the assignable task number calculation unit 541 includes:

[0141] A first reference value calculation subunit 541a, configured to add the minimum value between the number of outbound tasks to be assigned and the number of idle cache bits in the target roadway to the minimum value between the number of inbound tasks to be assigned and the number of idle storage bits in the target roadway, to obtain a first reference value;

[0142] A second reference value calculation subunit 541b, configured to multiply the number of matched robots by the task upper limit threshold and subtract the total number of assigned tasks of all matched robots to obtain a second reference value;

[0143] An assignable task number calculation subunit 541c, configured to select the minimum value between the first reference value and the second reference value as the assignable task number of the target roadway.

[0144] In one embodiment, the assignment value U of the assignable task assigned to the robot to be assigned ij satisfies the following formula:

[0145]

[0146] where f is the number of working areas traversed by the robot a to be assigned i when executing the assignable task, g is the distance traveled by the robot a to be assigned i when executing the assignable task, g max is the maximum value of the distances traveled by each robot a to be assigned i when executing the assignable task, and e1 and e2 are preset values.

[0147] For the functions of the modules in the control device 500 of the warehousing system according to the embodiments of the present invention, reference may be made to the corresponding descriptions in the above methods, which will not be elaborated herein.

[0148] Figure 9 Shows a structural block diagram of an electronic device according to an embodiment of the present application. As Figure 9As shown, the electronic device includes: a memory 610 and a processor 620. Instructions that can run on the processor 620 are stored in the memory 610. When the processor 620 executes the instructions, it implements the control method of the warehousing system in the above embodiments. The number of the memory 610 and the processor 620 can be one or more. The electronic device is intended to represent various forms of digital computers, such as, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, personal digital processors, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described herein and / or claimed.

[0149] The electronic device may further include a communication interface 630 for communicating with external devices and performing data interaction and transmission. Each device is interconnected using different buses and can be mounted on a common motherboard or otherwise as needed. The processor 620 can process instructions executed within the electronic device, including instructions for storing graphical information in the memory or on the memory to display a GUI on an external input / output device (such as a display device coupled to the interface). In other embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multiprocessor system). The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 9 only a thick line is shown in the figure, but it does not mean that there is only one bus or one type of bus.

[0150] Optionally, in specific implementation, if the memory 610, the processor 620, and the communication interface 630 are integrated on a single chip, the memory 610, the processor 620, and the communication interface 630 can communicate with each other through an internal interface.

[0151] It should be understood that the above-mentioned processor may be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor that supports the Advanced RISC Machines (ARM) architecture.

[0152] The embodiment of the present application provides a computer-readable storage medium (such as the above-mentioned memory 610), which stores computer instructions, and when the program is executed by a processor, the method provided in the embodiment of the present application is implemented.

[0153] Optionally, the memory 610 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created according to the use of the electronic device for goods outbound, etc. In addition, the memory 610 may include a high-speed random access memory, and may also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory 610 may optionally include a memory remotely provided with respect to the processor 620, and these remote memories may be connected to the electronic device for goods outbound through a network. Examples of the above network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.

[0154] In the description of this specification, the description with reference to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials, or characteristics described may be combined in a suitable manner in any one or more embodiments or examples. In addition, without contradiction, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples.

[0155] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "a plurality of" means two or more unless otherwise specifically defined.

[0156] Any process or method description represented in a flowchart or otherwise described herein can be understood to represent a module, segment, or portion of code including one or more (two or more) executable instructions for implementing a specific logical function or process. And the scope of the preferred embodiments of the present application includes additional implementations, where the functions can be executed in a substantially simultaneous manner or in a reverse order according to the involved functions, rather than in the order shown or discussed.

[0157] The logic and / or steps represented in a flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing a logical function, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other systems that can fetch and execute instructions from the instruction execution system, apparatus, or device), or in conjunction with such instruction execution systems, apparatus, or devices.

[0158] It should be understood that each part of the present application can be implemented by hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the method in the above embodiments can be completed by a program instructing relevant hardware, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.

[0159] In addition, in each embodiment of the present application, the functional units can be integrated into one processing module, or each unit can exist physically alone, or two or more units can be integrated into one module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. When the above integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium can be a read-only memory, a magnetic disk, an optical disk, etc.

[0160] As described above, it is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of various changes or substitutions, and these should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims

1. A control method for a warehousing system, characterized in that, Including: Selecting a robot in an idle state as a robot to be matched; Selecting a roadway with tasks to be assigned as a roadway to be matched; For each of the robots to be matched, calculating a matching value for the robot to be matched to each of the roadways to be matched according to the distance between the robot to be matched and each of the roadways to be matched and the number of tasks to be assigned for each of the roadways to be matched, and selecting the roadway to be matched with the highest matching value as the target roadway for the robot to be matched; Assigning the tasks to be assigned for the target roadway to the corresponding matched robots; Among them, selecting the roadway to be matched with the highest matching value as the target roadway for the robot to be matched includes: based on the matching value, using the KM (Kuhn - Munkres) algorithm to find the maximum weight matching under complete matching between the robot to be matched and the roadway to be matched, and obtaining a matching result; where the matching result includes the matched robots and the corresponding target roadways, and under the maximum weight matching, the sum of the matching values between each group of corresponding matched robots and the corresponding target roadways reaches the maximum.

2. The method according to claim 1, wherein Selecting a roadway with tasks to be assigned as a roadway to be matched includes: Selecting a roadway with tasks to be assigned and no robots as the first roadway to be matched; In the case where the number of the first roadways to be matched is less than the number of robots to be matched, selecting a roadway with tasks to be assigned and having robots as the second roadway to be matched.

3. The method according to claim 1, characterized in that The matching value W of the robot to be matched to the roadway to be matched ij satisfies the following formula: where d is the robot x to be matched i and the roadway y to be matched j The distance between them is d max is the maximum value of the distances between each robot to be matched and each of the roadways to be matched, m is the number of tasks to be assigned for the roadway y to be matched j The number of tasks to be assigned is m max is the maximum value of the numbers of tasks to be assigned for each of the roadways to be matched, n is the number of mandatory priority tasks for the roadway y to be matched j The number of mandatory priority tasks is n max is the maximum value of the numbers of mandatory priority tasks for each of the roadways to be matched, and u1, u2, and u3 are preset values 4. The method according to claim 1, wherein Assigning the tasks to be assigned for the target roadway to the corresponding matched robots includes: Calculating the number of tasks that can be assigned for the target roadway; In the case where the number of tasks that can be assigned is greater than 0, dividing the target roadway into corresponding numbers of working areas according to the number of the matched robots; Selecting the matched robots with the number of assigned tasks less than the task upper limit threshold as the robots to be assigned; For each of the robots to be assigned, calculating an assignment value for assigning each of the tasks that can be assigned to the robot to be assigned according to the distance between the robot to be assigned and the target bins corresponding to each of the tasks that can be assigned, and the number of working areas passed by the robot to be assigned when moving to the target bins corresponding to each of the tasks that can be assigned, and selecting the task that can be assigned with the highest assignment value as the target task for the robot to be assigned.

5. The method according to claim 4, wherein Calculating the number of tasks that can be assigned for the target roadway includes: Adding the minimum value between the number of outbound tasks to be assigned for the target roadway and the number of idle buffer positions to the minimum value between the number of inbound tasks to be assigned for the target roadway and the number of idle storage positions to obtain a first reference value; Multiplying the number of the matched robots by the task upper limit threshold minus the total number of assigned tasks of all the matched robots to obtain a second reference value; Selecting the minimum value between the first reference value and the second reference value as the number of tasks that can be assigned for the target roadway.

6. The method according to claim 4, wherein The assignment value U of the assignable task assigned to the robot to be assigned ij Satisfies the following formula: where f is the to-be-allocated robot a i the number of the working areas spanned by the to-be-allocated robot a for executing the allocable task, and g is the to-be-allocated robot a i the distance moved by the to-be-allocated robot a for executing the allocable task, and g max is the maximum value of the distances moved by each of the to-be-allocated robots a i for executing the allocable task, and e1 and e2 are preset values.

7. A control device for a warehousing system, characterized in that, Including: A module for selecting a robot to be matched, configured to select a robot in an idle state as a robot to be matched; A module for selecting a roadway to be matched, configured to select a roadway with tasks to be assigned as a roadway to be matched; A target roadway selection module, configured to calculate matching values of the to-be-matched robot for each to-be-matched roadway according to distances between the to-be-matched robot and each to-be-matched roadway and the number of to-be-assigned tasks of each to-be-matched roadway, and select the to-be-matched roadway with the highest matching value as the target roadway of the to-be-matched robot; A task assignment module, configured to assign the to-be-assigned tasks of the target roadway to the corresponding matched robots; Wherein, selecting the to-be-matched roadway with the highest matching value as the target roadway of the to-be-matched robot includes: based on the matching values, using the KM (Kuhn-Munkres) algorithm to find the maximum weight matching of the to-be-matched robot and the to-be-matched roadway under complete matching, and obtaining a matching result; wherein, the matching result includes the matched robots and the corresponding target roadways, and under the maximum weight matching, the sum of the matching values between each group of corresponding matched robots and the corresponding target roadways reaches the maximum.

8. The device according to claim 7, characterized in that, The to-be-matched roadway selection module includes: A first to-be-matched roadway selection unit, configured to select a roadway with to-be-assigned tasks and no robots as the first to-be-matched roadway; A second to-be-matched roadway selection unit, configured to, when the number of the first to-be-matched roadways is less than the number of the to-be-matched robots, select a roadway with to-be-assigned tasks and robots as the second to-be-matched roadway.

9. The device according to claim 7, characterized in that, The matching value W of the robot to be matched to the roadway to be matched ij Satisfies the following formula: where d is the robot x to be matched i and the roadway y to be matched j The distance between them is d max is the maximum value of the distances between each robot to be matched and each of the roadways to be matched, m is the number of tasks to be assigned for the roadway y to be matched j The number of tasks to be assigned is m max is the maximum value of the numbers of tasks to be assigned for each of the roadways to be matched, n is the number of mandatory priority tasks for the roadway y to be matched j The number of mandatory priority tasks is n max is the maximum value of the numbers of mandatory priority tasks for each of the roadways to be matched, and u1, u2, and u3 are preset values 10. The device according to claim 7, characterized in that, The task assignment module includes: An assignable task number calculation unit, configured to calculate the number of assignable tasks of the target roadway; A work area division unit, configured to, when the number of assignable tasks is greater than 0, divide corresponding numbers of work areas in the target roadway according to the number of the matched robots; A to-be-assigned robot selection unit, configured to select the matched robots with the number of assigned tasks less than the task upper limit threshold as the to-be-assigned robots; A target task selection unit, configured to, for each to-be-assigned robot, calculate assignment values of assigning each assignable task to the to-be-assigned robot according to distances between the to-be-assigned robot and target bins corresponding to each assignable task and the number of work areas passed by the to-be-assigned robot when moving to the target bins corresponding to each assignable task, and select the assignable task with the highest assignment value as the target task of the to-be-assigned robot.

11. The device according to claim 10, characterized in that, The assignable task number calculation unit includes: A first reference value calculation sub-unit, configured to add the minimum value between the number of to-be-assigned outbound tasks and the number of idle buffer bits of the target roadway to the minimum value between the number of to-be-assigned inbound tasks and the number of idle storage bits of the target roadway to obtain a first reference value; A second reference value calculation sub-unit, configured to multiply the number of matched robots by the task upper limit threshold minus the total number of assigned tasks of all matched robots to obtain a second reference value; An assignable task number calculation sub-unit, configured to select the minimum value between the first reference value and the second reference value as the number of assignable tasks of the target roadway.

12. The device according to claim 10, wherein The assignment value U of the assignable task assigned to the robot to be assigned ij Satisfies the following formula: where f is the to-be-allocated robot a i the number of the working areas spanned by the to-be-allocated robot a for executing the allocable task, and g is the to-be-allocated robot a i the distance moved by the to-be-allocated robot a for executing the allocable task, and g max is the maximum value of the distances moved by each of the to-be-allocated robots a i for executing the allocable task, and e1 and e2 are preset values.

13. An electronic device, characterized in that, It includes: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method according to any one of claims 1-6.

14. A computer-readable storage medium storing computer instructions therein, where the computer instructions, when executed by a processor, implement the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Scheduling method and device for service robot

    CN107291078A