Warehouse system control method, device, equipment, and computer-readable storage medium
The control method optimizes warehouse systems by determining a target station and selecting the most efficient bin and robot for transport, reducing transport time and improving cargo retrieval efficiency.
Patent Information
- Application Number
- JP2021135409
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-04
- Filing Date
- 2021-08-23
- Publication Date
- 2025-09-04
- Estimated Expiration
- 2041-06-02
AI Technical Summary
Warehouse systems face inefficiencies in bin selection, station selection, and robot selection during shipping tasks, which affect the overall efficiency of cargo retrieval.
A control method that determines a target station based on cargo information, selects a candidate bin with the lowest transportation cost, and assigns a robot to transport the bin efficiently, optimizing the transport process by considering multiple factors such as distance and cargo matching.
This method reduces transport time and the number of transports required, thereby improving the efficiency of cargo retrieval by selecting the most efficient bin and robot for the task.
Smart Images

Figure 0007734021000001 
Figure 0007734021000002 
Figure 0007734021000003
Abstract
Description
[Technical Field]
[0001] This application claims priority to a Chinese patent application filed on November 6, 2020, with the China Patent Office, bearing application number 2020112312368, entitled "Control method, apparatus, equipment, and computer-readable storage medium for a warehouse system," which is incorporated herein by reference in its entirety. This application claims priority to a Chinese patent application filed on December 4, 2020, with the China Patent Office, bearing application number 2020114015883, entitled "Control method, apparatus, equipment, and computer-readable storage medium for a warehouse system," which is incorporated herein by reference in its entirety. This application claims priority to a Chinese patent application filed on December 4, 2020, with the China Patent Office, bearing application number 2020114044570, entitled "Control method, apparatus, equipment, and computer-readable storage medium for a warehouse system," which is incorporated herein by reference in its entirety. This application also claims priority to a Chinese patent application filed with the China Patent Office on December 4, 2020, bearing application number 2020114045215 and entitled "Warehouse system control method, device, equipment and computer-readable storage medium," the entire contents of which are incorporated herein by reference.
[0002] The present application relates to the field of warehouse technology, and in particular to a control method, device, equipment, and computer-readable storage medium for a warehouse system. [Background technology]
[0003] In the related art, a warehouse system typically uses a transport robot to automatically transport bins (container boxes) on a rack to a station to complete a shipping task, but since the shipping task involves many factors such as bin selection, station selection, and robot selection, it is difficult to guarantee the efficiency of the shipping task. Summary of the Invention [Problem to be solved by the invention]
[0004] SUMMARY OF THE INVENTION Embodiments of the present application provide a control method, device, equipment, and computer-readable storage medium for a warehouse system to solve one or more technical problems in the related art.
[0005] To achieve the above objectives, the present application adopts the following technical solution.
[0006] A first aspect of the present application provides a control method for a warehouse system, the control method for a warehouse system including: determining a target station based on cargo information of tasks awaiting assignment; determining candidate bins based on cargo information of each current bin and the cargo information of the tasks awaiting assignment, selecting a candidate bin with the lowest transportation cost from each candidate bin as a target bin; determining a target robot based on position information of the target bin; and controlling the target robot to transport the target bin to the target station.
[0007] In one embodiment, determining a target station based on cargo information of the tasks awaiting assignment includes determining candidate stations based on the number of storage spaces to be occupied by the tasks awaiting assignment and the number of free storage spaces at each station; calculating an allocation efficiency value for each candidate station based on cargo information of bins assigned to the candidate stations, the distance between each bin and the candidate station, cargo information of bins not yet assigned to the candidate stations, and remaining cargo information of the tasks awaiting assignment; and determining the candidate station with the largest allocation efficiency value as the target station.
[0008] In one embodiment, determining the candidate bin with the lowest transportation cost from each of the candidate bins as the target bin includes determining remaining cargo information for the task awaiting assignment based on cargo information for the task awaiting assignment and cargo information for bins assigned to the target station, determining a bin that satisfies the remaining cargo information for the task awaiting assignment as a candidate bin based on cargo information for each of the current bins, calculating a transportation cost for each of the candidate bins, and determining the candidate bin with the lowest transportation cost as the target bin.
[0009] In one embodiment, the robot includes a first robot, and determining the target robot based on the position information of the target bin includes determining a target aisle corresponding to the target bin based on the position information of the target bin, and determining the first target robot based on the position of each of the first robots in the target aisle, and the first target robot is used to transport the target bin from a storage space to a temporary placement space.
[0010] In one embodiment, the robot includes a second robot, and determining the target robot based on the position information of the target bin further includes determining the second robot that is closest to the target bin as the second target robot based on the position information of the target bin, and the second target robot is used to transport the target bin from the temporary storage space to the target station.
[0011] In one embodiment, after controlling the target robot to transport the target bin to the target station, the method further includes controlling the second target robot to transport the target bin from the target station to a target rack, and controlling the second target robot to park under an empty temporary storage space in a storage rack.
[0012] A second aspect of the present application provides a method for controlling a warehouse system, including selecting an empty first robot as a waiting-for-matching first robot, selecting an aisle in which the target bin is located as a waiting-for-matching aisle based on position information of the target bin, determining a corresponding target aisle and first target robot for each of the waiting-for-matching first robots based on a distance between the waiting-for-matching first robot and each of the waiting-for-matching aisles and the number of tasks waiting to be assigned in each of the waiting-for-matching aisles, and assigning the tasks waiting to be assigned in the target aisle to the corresponding first target robot.
[0013] In one embodiment, selecting the aisle in which the target bin is located as the matching waiting aisle includes selecting an aisle in which there are tasks waiting to be assigned and no first robots present as a first matching waiting aisle, and when the number of the first matching waiting aisles is less than the number of the first matching waiting robots, selecting an aisle in which there are tasks waiting to be assigned and no first robots present as a second matching waiting aisle.
[0014] In one embodiment, assigning the tasks awaiting assignment in the target passage to the corresponding first target robot includes calculating the number of tasks that can be assigned in the target passage; if the number of tasks that can be assigned is greater than 0, dividing a corresponding number of working areas in the target passage based on the number of first target robots; selecting a first target robot having a number of assigned tasks that is less than an upper task threshold as a first robot awaiting assignment; and determining a target task from the allocable tasks based on the distance between the first robot awaiting assignment and the target bin corresponding to each of the tasks and the number of working areas that the first robot awaiting assignment has passed through to move to the target bin corresponding to each of the tasks.
[0015] In one embodiment, calculating the number of tasks that can be assigned to the target passage includes: obtaining a first reference value by adding the minimum of the number of outgoing tasks waiting to be assigned to the target passage and the number of available temporary storage spaces to the minimum of the number of incoming tasks waiting to be assigned to the target passage and the number of available storage spaces; obtaining a second reference value by subtracting the total number of assigned tasks of all matched first robots from a value obtained by multiplying the number of matched first robots by an upper task threshold; and selecting the minimum of the first reference value and the second reference value as the number of tasks that can be assigned to the target passage.
[0016] In a third aspect of the present application, there is provided a control method for a warehouse system including a plurality of warehouse areas, the control method for the warehouse system including: determining an input warehouse area and an output warehouse area from a plurality of initial warehouse areas based on the number of tasks waiting to be assigned and the number of current second robots in each of the initial warehouse areas; determining an output second robot in each of the output warehouse areas; determining an input second robot in each of the input warehouse areas from each of the output second robots and disposing the input second robot in the corresponding input warehouse area from the output warehouse area; and determining, for each matching waiting warehouse area, a corresponding second target robot for each target bin in the matching waiting warehouse area from vacant second robots in the matching waiting warehouse area.
[0017] In one embodiment, determining an input warehouse area and an output warehouse area from a plurality of initial warehouse areas based on the number of tasks waiting to be assigned and the current number of second robots in each initial warehouse area includes determining the initial warehouse area as the input warehouse area if the current number of second robots in the initial warehouse area is less than the assigned number of second robots in the initial warehouse area, and determining the initial warehouse area as the output warehouse area if the current number of second robots in the initial warehouse area is greater than the assigned number of second robots in the initial warehouse area, wherein the assigned number of second robots in the initial warehouse area is the product of the ratio of the number of uncompleted tasks in the initial warehouse area to the total number of uncompleted tasks in the warehouse system and the total number of second robots in the warehouse system.
[0018] In one embodiment, determining the second robot to be output in each of the output warehouse areas includes calculating the number of second robots to be output in the output warehouse area based on the current number of second robots in the output warehouse area, the lower limit of the number of second robots, the allocated number of second robots, and the number of available second robots, and determining the second robot to be output in the output warehouse area based on the number of second robots to be output in the output warehouse area.
[0019] In one embodiment, determining an import second robot in each of the import warehouse areas from each of the export second robots includes calculating the number of second robots imported into the import warehouse area based on the allocated number of second robots in the import warehouse area, the current number of second robots, and the upper limit for the number of second robots; calculating the product of the ratio of the number of second robots imported into the import warehouse area to the total number of second robots imported into each of the import warehouse areas and the total number of second robots exported from each of the export warehouse areas as a reference value; determining the minimum of the reference value and the number of second robots imported into the import warehouse area as the actual number of second robots required in the import warehouse area; and selecting, from the export second robots in each of the export warehouse areas, the export second robot that is closest to the import warehouse area as the import second robot in the import warehouse area, depending on the actual number of second robots required in the import warehouse area.
[0020] In one embodiment, determining a corresponding second target robot for each target bin in the warehouse area waiting to be matched from among the available second robots in the warehouse area waiting to be matched includes determining a second target robot corresponding to each station from among the available second robots in the warehouse area waiting to be matched based on the type of tasks waiting to be assigned and the number of tasks waiting to be assigned in the warehouse area waiting to be matched, and matching the tasks waiting to be assigned of the stations to the second target robot corresponding to the stations.
[0021] In one embodiment, determining a second target robot corresponding to each station from among the available second robots in the warehouse area waiting for matching based on the type of tasks waiting for assignment and the number of tasks waiting for assignment in the warehouse area waiting for matching includes calculating, for each type of task waiting for assignment, a first variable weight for the type of task waiting for assignment based on a ratio of the number of tasks waiting for assignment to the total number of tasks waiting for assignment, a fixed weight for the type of task waiting for assignment, and an initial variable weight for the type of task waiting for assignment; and selecting one of the available second robots in the warehouse area waiting for matching as the second target robot, based on the type of task waiting for assignment with the highest first variable weight. the number of tasks waiting for assignment of the available second robot and the number of tasks waiting for assignment are both greater than 0, the calculation step of the first variable weight, the allocation step of the second target robot, and the calculation step of the second variable weight are repeated, and the second variable weight of the type of task waiting for assignment is set as the initial variable weight of the type of task waiting for assignment.
[0022] In one embodiment, matching the tasks waiting to be assigned for the station to second target robots corresponding to the station includes calculating an allocation value for each of the tasks waiting to be assigned based on the priority of the tasks waiting to be assigned for the station and the distance between the target bin corresponding to the tasks waiting to be assigned and the station; extracting the corresponding number of tasks waiting to be assigned with the highest allocation value from the tasks waiting to be assigned as target tasks based on the number of second target robots in the station; calculating a matching value for the second target robot matching with each of the target tasks based on the distance between the second target robot and the target bin corresponding to each of the target tasks, and selecting the target task with the highest matching value to match with the second target robot.
[0023] The above technical solution can provide at least the following advantages or beneficial effects: By selecting, from among multiple candidate bins, the bin with the highest transport efficiency for transporting from the storage rack to the target station as the target bin, it is possible to shorten the transport time required for the target robot to transport the target bin to the target station, reduce the number of transports by the target robot, and further improve the efficiency of cargo retrieval.
[0024] The foregoing summary is for purposes of description only and is not intended to be limiting in any way. In addition to the exemplary aspects, embodiments, and features described above, further aspects, embodiments, and features of the present specification will be readily understood by reference to the accompanying drawings and the following detailed description. [Brief explanation of the drawings]
[0025] In order to more clearly explain the technical solutions in the embodiments of the present application or related technologies, the following will briefly describe the necessary accompanying drawings used in the description of the embodiments or related technologies. However, the accompanying drawings in the following description are only some of the embodiments described in the embodiments of the present application, and it is obvious to those skilled in the art that other accompanying drawings can also be obtained from these accompanying drawings. [Figure 1] 3 is a flowchart of a control method for a warehouse system according to a first embodiment of the present application. [Figure 2] 1 is a specific flowchart for determining an input warehouse area and an output warehouse area according to the first embodiment of the present application. [Figure 3] 10 is a specific flowchart for determining an output robot according to the first embodiment of the present application. [Figure 4] 1 is a specific flowchart for determining a transfer robot according to the first embodiment of the present application. [Figure 5] 3 is a flowchart of a control method for a warehouse system according to a first embodiment of the present application. [Figure 6] 4 is a specific flowchart for determining a target robot according to the first embodiment of the present application. [Figure 7] 10 is a flowchart of a control method for a warehouse system according to a second embodiment of the present application. [Figure 8] 10 is a specific flowchart for selecting a matching waiting path according to the second embodiment of the present application; [Figure 9] 4 is a specific flowchart of allocating a target task according to the second embodiment of the present application; [Figure 10] 10 is a specific flowchart for calculating the number of assignable tasks according to the second embodiment of the present application; [Figure 11] 10 is a flowchart of a control method for a warehouse system according to a third embodiment of the present application. [Figure 12] 10 is a specific flow chart for determining an input warehouse area and an output warehouse area according to the third embodiment of the present application. [Figure 13] 10 is a specific flowchart for determining a delivery second robot according to the third embodiment of the present application. [Figure 14] 10 is a specific flowchart for determining an import second robot according to the third embodiment of the present application. [Figure 15] 10 is a specific flow chart for matching tasks waiting to be assigned according to the third embodiment of the present application; [Figure 16] 10 is a specific flowchart for allocating a second target robot according to the third embodiment of the present application; [Figure 17] 4 is a specific flowchart for matching target tasks according to the third embodiment of the present application. [Figure 18] FIG. 10 is a schematic diagram of a control device of a warehouse system according to a fourth embodiment of the present application. [Figure 19] FIG. 10 is a schematic diagram of a control device of a warehouse system according to a fifth embodiment of the present application. [Figure 20] FIG. 10 is a schematic diagram of a control device of a warehouse system according to a sixth embodiment of the present application. [Figure 21] FIG. 10 is a schematic diagram of an electronic device according to a seventh embodiment of the present application. [Figure 22] 1 is a specific flow chart for matching a task waiting to be assigned to a target robot according to an embodiment of the first aspect of the present application; DETAILED DESCRIPTION OF THE INVENTION
[0026] In the following, only some exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments may be modified in various different ways without departing from the spirit or scope of the present application. Accordingly, the accompanying drawings and descriptions are to be regarded as illustrative in nature and not as restrictive.
[0027] A control method for a warehouse system according to a first embodiment of the present application will be described below with reference to Figures 1 to 6. The control method for a warehouse system according to the embodiment of the present application can be applied to a warehouse system and is used to realize a cargo retrieval task of the warehouse system.
[0028] FIG. 1 is a flowchart showing a control method for a warehouse system according to an embodiment of the present application.
[0029] As shown in FIG. 1 , the control method for the warehouse system may include:
[0030] In step S101, a target station is determined based on cargo information of tasks waiting to be assigned.
[0031] In step S102, candidate bins are determined based on the cargo information of each current bin and the cargo information of tasks waiting to be assigned, and the candidate bin with the lowest transportation cost is selected as the target bin from among the candidate bins.
[0032] In step S103, a target robot is determined based on the position information of the target bin.
[0033] In step S104, the target robot is controlled to transport the target bin to the target station.
[0034] In one example, the task waiting for assignment may include multiple job lists, and the cargo information of the task waiting for assignment may be the type and quantity of target cargo corresponding to each job list. The target station is used by a worker to sort the target cargo corresponding to the job list from the target bin. Note that there may be multiple stations, and one of them may be used as the target station for one task waiting for assignment, or may be used as the target station for multiple tasks waiting for assignment. Here, the target station is the candidate station with the highest assignment efficiency value.
[0035] In one example, the bins may be used to store cargo, and the current bin may be a bin located in a storage rack. Based on the cargo information of each current bin, the current bin that at least partially matches the cargo information of the waiting task is selected as a candidate bin. The transportation cost of the candidate bin may be calculated based on the distance between the candidate bin and the target station and the number of cargoes stored in the candidate bin that match the target cargoes of the waiting task.
[0036] It can be seen that the transportation cost of a candidate bin is proportional to the distance between the candidate bin and the target station, i.e., the shorter the distance between the candidate bin and the target station, the lower the transportation cost of the candidate bin. Also, the transportation cost of a candidate bin is inversely proportional to the number of cargoes stored in the candidate bin that match the target cargoes of the task waiting for assignment, i.e., the more cargoes stored in the candidate bin that match the target cargoes of the task waiting for assignment, the lower the transportation cost of the candidate bin.
[0037] In one example, the location information of the target bin may be location information of a storage rack where the target bin is located. The robot may be an automated guided vehicle (AGV), which can travel along a predetermined navigation path to transport the bin between the station and the storage rack. The target robot can be specifically determined based on the location information of the storage rack where the target bin is located.
[0038] After the target station, target bin, and target robot are determined, a bin transport task is generated and sent to the target robot, thereby controlling the target robot to transport the target bin from the storage rack where it is located to the target station.
[0039] In an embodiment of the present application, the robots of the warehouse system include a first robot and a second robot, and can simultaneously send a bin transport task to the first target robot and the second target robot, where, to accomplish a bin retrieval task, the first target robot is used to transport the target bin from a target storage space of a rack to a target temporary storage space, and the second target robot is used to transport the target bin from the target temporary storage space to a target station.
[0040] Here, the selection of the first target robot and the assignment of tasks can be realized in accordance with the control method for a warehouse system according to the second embodiment of the present application, and the selection of the second target robot and the assignment of tasks can be realized in accordance with the control method for a warehouse system according to the third embodiment of the present application.
[0041] The warehouse system control method according to this embodiment determines candidate bins based on the cargo information of the bins and the cargo information of the tasks awaiting assignment, and then selects the candidate bin with the lowest transportation cost as the candidate bin. For example, the transportation cost of each candidate bin can be calculated by combining two factors: the distance between the candidate bin and the target station and the number of cargoes that match the cargo information of the tasks awaiting assignment. The candidate bin with the lowest transportation cost can then be selected as the target bin. This allows the bin with the highest transportation efficiency for transporting from the storage rack to the target station to be selected as the target bin from among multiple candidate bins. This reduces the transportation time required for the target robot to transport the target bin to the target station and the number of transports by the target robot, thereby improving the efficiency of cargo retrieval.
[0042] In one embodiment, as shown in FIG. 2, step S101 includes the following steps:
[0043] In step S201, candidate stations are determined based on the number of storage spaces to be occupied by tasks waiting for allocation and the number of free storage spaces in each station.
[0044] In step S202, the allocation efficiency value of each candidate station is calculated based on the cargo information of the bins already allocated to the candidate stations, the distance between each bin and the candidate station, the cargo information of the bins not yet allocated to the candidate stations, and the remaining cargo information of the tasks waiting for allocation.
[0045] In step S203, the candidate station with the highest allocation efficiency value is determined as the target station.
[0046] In one example, a station is provided with a sorting rack having multiple storage spaces for placing target cargo sorted from a target bin. The number of storage spaces to be occupied can be determined according to the number and type of target cargo for the tasks waiting for assignment, specifically, the number of job lists for the tasks waiting for assignment. Here, the target cargo required for each job list corresponds to one storage space to be occupied. That is, the number of storage spaces to be occupied is equal to the number of job lists for the tasks waiting for assignment. By selecting stations with the number of available storage spaces equal to or greater than the number of occupied storage spaces as candidate stations, it is ensured that the available storage spaces of the candidate stations can be sufficiently filled with target cargo corresponding to the multiple job lists.
[0047] It should be noted that bins assigned to a candidate station may be understood to be all bins previously assigned to the candidate station, and bins not yet assigned to a candidate station may be understood to be all bins on the current storage rack that are not assigned to the candidate station.
[0048] Illustratively, the efficiency value E of each unassigned bin corresponding to a candidate station satisfies the following equation:
[0049] E=K / (1+h [*d]_0 / d_0max )
[0050] where K is the number of first cargoes at the candidate station, K is the number of first cargoes at the candidate station, d0 is the distance from the unassigned bin to the candidate station, d0max is the maximum value of the distance from the unassigned bin to the candidate station, and h is a preset value (e.g., h=0.1).
[0051] The average efficiency value W of the candidate station can be determined by calculating the average value of the efficiency values E of all unassigned bins corresponding to the candidate station. Optionally, the allocation efficiency value I of the candidate station satisfies the following equation:
[0052] I=(V+u*W_1)*(1+P) / C
[0053] where V is the number of first cargoes at the candidate station, W1 is the average efficiency value of the candidate station, P is the ratio between the priority value of the task waiting for assignment and the maximum priority value among the tasks waiting for assignment, C is the number of storage spaces to be occupied, and u is a preset value.
[0054] The warehouse system control method according to this embodiment calculates the number of first cargoes and the number of second cargoes at each candidate station, calculates the average efficiency value of the candidate station based on the number of second cargoes and the distance between the candidate station and each bin, and calculates the allocation efficiency value of the candidate station based on the average efficiency value and the number of first cargoes. Finally, the candidate station with the highest allocation efficiency value is selected as the target station. This allows the allocation efficiency value of each candidate station to be comprehensively determined by combining multiple factors, such as the number of cargoes whose cargo information in the assigned and unassigned bins of the candidate station matches the cargo information of the task waiting for allocation, and the distance between each bin and the station. Then, by referring to the allocation efficiency value, the candidate station with the highest allocation efficiency value is selected as the target station for the task waiting for allocation. This maximizes the efficiency of cargo retrieval.
[0055] In one embodiment, step S102 includes the following steps S301, S302, and S303, as shown in FIG.
[0056] In step S301, the remaining cargo information of the task waiting for allocation is determined based on the cargo information of the task waiting for allocation and the cargo information of the bins assigned to the target station. Here, the remaining cargo information of the task waiting for allocation can be understood as the remaining cargo information of the task waiting for allocation that has not been filled in the assigned bins.
[0057] In step S302, based on the cargo information of each current bin, determine bins that satisfy the remaining cargo information of the tasks waiting for allocation as candidate bins, among which, the bins that satisfy the cargo information of the tasks waiting for allocation may be bins in which at least a portion of the currently stored cargo matches the cargo information of the tasks waiting for allocation.
[0058] In step S303, the transportation cost of each candidate bin is calculated, and the candidate bin with the lowest transportation cost is determined as the target bin.
[0059] In one example, the transportation cost U1 of the candidate bin satisfies the following formula:
[0060] U_1=w_1 d_1 / d_1max -w_2 s / s_max +w_3 n_1 / n_1max +w_4 m_1 / m_1max +w_5*f1
[0061] Here, d1 is the distance from the candidate bin to the target station, d1max is the maximum distance from the candidate bin to the target station, s is the number of cargoes in the candidate bins that meet the cargo information of the tasks waiting to be assigned, smax is the maximum number of cargoes in the candidate bins that meet the cargo information of the tasks waiting to be assigned, n1 is the number of current entry and exit tasks in the aisle in which the candidate bin is located, n1max is the maximum number of current entry and exit tasks in the aisle in which each candidate bin is located, m1 is the number of stations assigned to the candidate bins, m1max is the maximum number of stations assigned to the candidate bins, w1, w2, w3, w4, and w5 are predetermined coefficients, and f1 is 1 if the candidate bin is in the storage space and 0 otherwise.
[0062] In one embodiment, as shown in FIG. 4, the robot includes a first robot, and step S103 includes the following steps S401 and S402.
[0063] In step S401, a target passage corresponding to the target bin is determined based on the position information of the target bin.
[0064] In step S402, a first target robot that will transport the target bin from the storage space to the temporary placement space is determined based on the position of each first robot in the target passage.
[0065] Based on the position information of the first robot already in the target passage, the first robot that is closest to the target bin is selected as the first target robot, thereby minimizing the travel distance of the first target robot to the target passage and maximizing the movement efficiency of the first target robot to the target passage.
[0066] For example, the position information of the target bin may be position information of the storage rack in which the target bin is located. The aisle adjacent to the storage rack in which the target bin is located is the target aisle. Here, the aisle is defined by two adjacent storage racks. The storage racks have a storage space and a temporary storage space set on different levels, and the temporary storage space may be located on the lowest level of the storage rack. After determining the first target robot, a movement instruction is sent to the first target robot to move the first target robot from another aisle to the entrance of the target aisle. A first bin transport task is sent to the first target robot to control the first target robot to transport the target bin located in the storage space to the temporary storage space.
[0067] In one embodiment, as shown in FIG. 5, the robot includes a second robot, and step S103 further includes step S501.
[0068] In step S501, based on the position information of the target bin, the second robot that is closest to the target bin is determined as the second target robot that will transport the target bin from the temporary placement space to the target station.
[0069] This makes it possible to minimize the distance that the second target robot travels to the temporary placement space where the target bin is located, thereby improving the transport efficiency of the second target robot.
[0070] Illustratively, after determining the second target robot, a second bin transport task is sent to the second target robot to control the second target robot to move along the target passageway below the temporary storage space of the storage rack and transport the target bin located in the temporary storage space to the target station.
[0071] Optionally, as shown in FIG. 6, step S103 further includes steps S601 and S602.
[0072] In step S601, the second target robot is controlled to transport the target bin from the target station to the target rack.
[0073] In step S602, the second target robot is controlled to stop under the empty temporary storage space of the storage rack.
[0074] For example, in step S601, if cargo remains in the target bin after the sorting operation in the target station, a bin return task is sent to the second target robot to control the second target robot to transport the target bin to a temporary storage space of the storage rack. Furthermore, the first robot transports the target bin from the temporary storage space to the storage space.
[0075] For example, in step S602, if the second target robot has completed the transport task of the target bin and no new bin transport task has been assigned, a target pose point is assigned to the second target robot in an empty state.
[0076] Specifically, the method selects an aisle with an empty temporary storage space from each current aisle as a candidate aisle, calculates a stopping cost value for each candidate aisle based on the number of current tasks in each candidate aisle and the distance between each candidate aisle and the second target robot, selects the candidate aisle with the lowest stopping cost value as the stop aisle, and randomly selects a stop from among the stops below an empty temporary storage space in the stop aisle as the target stop for the second target robot. Furthermore, it generates a stopping task to control the second target robot to move to the target stop and sends it to the second target robot.
[0077] In one embodiment, step S103 further includes, when the target bin corresponds to multiple target stations, determining an order in which the second target robot accesses each target station according to a preset arrangement order, where the preset arrangement order arranges the numbers of bins scheduled to arrive at each target station in order from smallest to largest.
[0078] In addition, when multiple tasks waiting for assignment need to be processed simultaneously and a target bin corresponds to multiple target stations, it is necessary to determine the order in which the target bin will access the multiple target stations. The second target robot can access the multiple target stations sequentially according to a preset placement order. The preset placement order may also be to access each target station in order from smallest to largest based on the sum of the number of bins that have arrived at each target station and the number of bins that are scheduled to arrive at each target station.
[0079] In another example of the present invention, the predetermined placement order may be determined based on the priority value of the waiting tasks for assignment corresponding to each target station, i.e., the second target robot preferentially accesses a target station with a higher priority value. Alternatively, the predetermined placement order may be determined based on the distance between the current location of the target bin and each target station from closest to furthest, i.e., the second target robot may access each target station from closest to furthest.
[0080] A specific example of a control method for the warehouse system according to this embodiment will be described below with reference to FIG.
[0081] As shown in FIG. 22, after receiving a job list (a task waiting for allocation), a target station is determined according to a job list allocation station algorithm. Specifically, the allocation efficiency value of each candidate station is calculated based on the average efficiency value of each candidate station and the number of second cargo items. The candidate station with the lowest allocation efficiency value can be selected as the target station. Here, the number of second cargo items is the number of cargo items whose remaining cargo information in the assigned rack of the candidate station matches the cargo information in the job list. Then, a target bin is determined according to a job list allocation bin algorithm. Specifically, bins that satisfy the cargo information in the job list are determined as candidate bins based on the cargo information of each current bin. The transportation cost of each candidate bin is calculated, and the candidate bin with the lowest transportation cost is selected as the target bin. Note that if the cargo information of all candidate bins does not satisfy the cargo information in the job list, i.e., if the inventory required for the job list is insufficient and target bin allocation fails, the job list is suspended and the bound target station is released.
[0082] If the target bin is successfully assigned and corresponds to multiple target stations simultaneously, the order in which the target robot will access each target station is determined based on a sequence algorithm for bins accessing multiple stations, a bin transport task is generated and sent to the target robot, and a target robot is determined according to a task assignment algorithm, and a work point in the station with the least number of target robots assigned is selected and assigned to the target robot.
[0083] A control method for a warehouse system according to a second embodiment of the present application will be described below with reference to Figures 7 to 10. The control method for a warehouse system according to this embodiment can be applied to a warehouse system that assigns a first robot to an aisle having a task waiting to be assigned, and assigns the task waiting to be assigned to the first robot.
[0084] FIG. 7 is a flowchart showing a control method for a warehouse system in one embodiment of the present application.
[0085] As shown in FIG. 7, the control method includes the following steps S701, S702, S703, and S704.
[0086] In step S701, a first robot that is in an available state is selected as a first robot waiting for matching.
[0087] In step S702, based on the location information of the target bin, the aisle where the target bin is located is selected as the matching waiting aisle.
[0088] In step S703, for each of the first robots waiting to be matched, a corresponding target passage and first target robot are determined based on the distance between the first robot waiting to be matched and each matching waiting passage and the number of tasks waiting to be assigned in each matching waiting passage.
[0089] In step S704, the tasks waiting to be assigned in the target passage are assigned to the corresponding first target robots.
[0090] For example, an idle first robot refers to a first robot that is not currently performing a task, and specifically may include a first robot within an aisle that does not have a task waiting to be assigned, and a first robot outside the aisle that is not performing a task.
[0091] For example, an aisle with a waiting task may be an aisle with a waiting outgoing task and / or a waiting ingoing task in the current state. The outgoing task refers to a task of transporting a bin from a storage space of a rack to a temporary storage space and then from the temporary storage space to a station. The ingoing task may be a task of transporting a bin from a station to a temporary storage space of a rack and then from the temporary storage space to a storage space.
[0092] For example, the distance between the first robot waiting for matching and the matching waiting passage may be the Manhattan distance between the current position of the first robot waiting for matching and any passage entrance of the matching waiting passage, i.e., the sum of absolute values of the coordinate differences between the current position of the first robot waiting for matching and the passage entrance of the matching waiting passage in the standard coordinate system. The number of tasks waiting for assignment in the matching waiting passage may be the sum of the current number of outgoing tasks waiting for assignment and the current number of incoming tasks waiting for assignment in the matching waiting passage. Here, the distance between the first robot waiting for matching and the matching waiting passage is inversely proportional to the matching value of the first robot waiting for matching with the matching waiting passage. That is, the shorter the distance between the first robot waiting for matching and the matching waiting passage, the higher the matching value of the first robot waiting for matching with the matching waiting passage. The number of tasks waiting for assignment in the matching waiting passage is directly proportional to the matching value of the first robot waiting for matching with the matching waiting passage. That is, the greater the number of tasks waiting for assignment in the matching waiting passage, the higher the matching value of the first robot waiting for matching with the matching waiting passage.
[0093] In one example, the maximum weight matching in which the first robot waiting for a match and the matching waiting passage are in perfect matching is found using the KM (Kuhn-Munkres) algorithm.
[0094] Specifically, all first robots waiting for matching are added to vertex set X, all matching waiting paths are added to vertex set Y, and any vertex xi in vertex set X is connected to any vertex yj in vertex set Y to form an edge (i, j). The matching value between first robot i waiting for matching and matching waiting path j is set as the weight value of edge (i, j), thereby constructing a weighted bipartite graph of all first robots waiting for matching and matching waiting paths. Next, the KM algorithm is used to find the maximum weight matching in the complete matching of the weighted bipartite graph. That is, a matching is found so that every vertex in vertex set X has a corresponding matching vertex in vertex set Y, every vertex in vertex set Y has a corresponding matching vertex in vertex set X, and the sum of the weight values of all edges (i, j) is maximized.
[0095] The maximum weight matching in the perfect matching obtained by the KM algorithm is the optimal matching between the first robots waiting to be matched and the aisles waiting to be matched, and maximizes the sum of the matching values between the corresponding first robots already matched in each pair and the target aisle. This allows the optimal matching result between the first robots waiting to be matched and the aisles waiting to be matched to be quickly and accurately obtained, and ensures a high matching value overall between each first robot waiting to be matched and each aisle waiting to be matched. Furthermore, this achieves a reasonable distribution of first robots in each aisle with tasks waiting to be assigned, which is beneficial to improving the execution efficiency of outgoing and incoming tasks.
[0096] For example, a first robot waiting to be matched is matched with a matching waiting passage to obtain a matched first robot and a corresponding target passage, and a movement instruction is sent to the matched first robot to control it to move to the passage entrance of the target passage.
[0097] For example, when assigning the tasks waiting to be assigned in the target passage to the corresponding matched first robot, the tasks waiting to be assigned can be assigned to the matched first robot sequentially according to the priorities of the tasks waiting to be assigned. For example, when there are multiple tasks waiting to be assigned and the priorities of the multiple tasks are different, the tasks waiting to be assigned with higher priorities are preferentially assigned to the matched first robot, and then the tasks waiting to be assigned with normal priorities are assigned to the matched first robot.
[0098] Furthermore, an allocation value for each task waiting to be assigned to the first robot can be calculated, and the multiple tasks waiting to be assigned can be sequentially assigned to the first robot in order of the allocation value from largest to smallest. Here, the allocation value can be calculated based on the distance between the matched first robot and the position of the target bin corresponding to each task waiting to be assigned.
[0099] In one specific example, a warehouse system includes a storage rack, a station, a first robot, and a second robot. The storage racks are arranged side by side at intervals, with an aisle defined between two adjacent storage racks. The storage rack includes a storage space and a temporary storage space, and the storage space and the temporary storage space are set on different levels. For example, the storage spaces may be arranged at intervals in the vertical direction, and the temporary storage space may be located below the multiple storage spaces and at the lowest level of the storage rack. The first robot can move along the aisle to transport bins on the temporary storage space to the storage space or to transport bins on the storage space to the temporary storage space. The station is used by workers to sort cargo stored in the bins or place cargo in the bins. The second robot can move between the storage rack and the station to transport bins on the temporary storage space to the station or to transport bins from the station to the temporary storage space. Note that the first robot in the embodiments of the present application may be a first robot.
[0100] The warehouse system control method according to this embodiment calculates a matching value for the first robot waiting to be matched with each aisle based on the distance between the first robot waiting to be matched and each aisle, and the number of tasks waiting to be assigned in each aisle. The aisle with the highest matching value is selected as the target aisle for the first robot waiting to be matched, thereby solving the technical problem of poor task execution efficiency in prior art warehouse systems due to poor matching between the first robot and the aisle. According to the method according to this embodiment, matching is performed by integrating two factors: the distance between the first robot and the aisle and the number of tasks waiting to be assigned in the aisle. This makes it possible to quickly and accurately obtain optimal matching results between the first robot and the aisle, rationalizing the distribution of the first robot in each aisle and improving the efficiency of the first robot's retrieval and storage tasks.
[0101] In one embodiment, the match queue path includes a first match queue path and a second match queue path.
[0102] As shown in FIG. 8, step S702 includes the following steps S801 and S802.
[0103] In step S801, a path where there is a task waiting to be assigned and where the first robot does not exist is selected as a first matching waiting path.
[0104] In step S802, if the number of first matching waiting passages is smaller than the number of first robots waiting for matching, a passage where there are tasks waiting to be assigned and where first robots exist is selected as a second matching waiting passage.
[0105] After the first and second matching waiting passages are selected, both the first and second matching waiting passages may be matched with the first matching waiting robot.
[0106] For example, if the number of first matching waiting passages is less than the number of first matching waiting robots, passages where there are tasks waiting to be assigned and where first robots exist are selected, and the ratio of the number of tasks waiting to be assigned in the passage to the number of first robots in the passage is calculated, and the passages are selected as second matching waiting passages in order of ratio from highest to lowest until the sum of the number of first matching waiting passages and the number of second matching waiting passages is equal to the number of first robots waiting to be assigned, or until all passages where there are tasks waiting to be assigned and where first robots exist have been selected.
[0107] Note that when the sum of the number of first matching waiting paths and the number of second matching waiting paths is equal to the number of first matching waiting robots, the number of vertices in vertex set X and vertex set Y is the same, so the KM algorithm can be used to find a perfect matching result between the first matching waiting robot and the matching waiting path. That is, any vertex in vertex set X has a uniquely matched vertex from vertex set Y, all vertices in vertex set Y have a uniquely matched vertex from vertex set X, and the sum of the weights of all edges (i, j) in this matching is maximum.
[0108] In one embodiment, the matching value Wij of the first robot waiting for a match to the matching waiting passage satisfies the following formula:
[0109] W_2=-u_1 d_2 / d_2max +u_2 m_2 / m_2max +u_3 n_2 / n_2max
[0110] where d2 is the distance between the first robot xi waiting for matching and the matching waiting passage yj, d2max is the maximum distance between each first robot waiting for matching and each matching waiting passage, m2 is the number of tasks waiting to be assigned to the matching waiting passage yj, m2max is the maximum number of tasks waiting to be assigned to each matching waiting passage, n2 is the number of mandatory priority tasks to be assigned to the matching waiting passage yj, n2max is the maximum number of tasks waiting to be assigned to each matching waiting passage, and u1, u2, and u3 are preset values. For example, u1 may be 700, u2 may be 1, and u3 may be 70,000.
[0111] In the above formula, if the denominator of a fraction is zero, the result of the fraction calculation will be zero.
[0112] In one example, the distance d2 between the first robot xi waiting to be matched and the matching waiting aisle yj can be calculated as follows: Obtain the position p0 of the first robot relative to the aisle in which the first robot is located, obtain the positions p1 and p2 of the two aisle entrances of the aisle in which the first robot is located, and obtain the positions p3 and p4 of the two aisle entrances of the matching waiting aisle. The distance d2 between the first robot xi waiting to be matched and the matching waiting aisle yj satisfies the following formula.
[0113] d2=min(d01+d13, d01+d14, d02+d23, d02+d24)
[0114] Here, d01 is the Manhattan distance between positions p0 and p1, d13 is the Manhattan distance between positions p1 and p3, d14 is the Manhattan distance between positions p1 and p4, d02 is the Manhattan distance between positions p0 and p2, d23 is the Manhattan distance between positions p2 and p3, and d24 is the Manhattan distance between positions p2 and p4.
[0115] In one embodiment, before matching a first robot waiting to be matched with a matching waiting passage, if a mandatory priority task exists among the tasks waiting to be assigned to the matching waiting passage and the first robot is not present in the passage, the first robot is preferentially assigned to the matching waiting passage where a mandatory priority task exists. For example, the first robot closest to the passage can be selected to be matched to the passage, or the first robot in an passage with no mandatory priority task can be selected to be matched to the passage.
[0116] In one embodiment, step S704 includes steps S901, S902, S903, and S904, as shown in FIG.
[0117] In step S901, the number of tasks that can be assigned to the target path is calculated.
[0118] In step S902, if the number of assignable tasks is greater than 0, the target passage is divided into a corresponding number of working areas based on the number of matched first robots. Note that the number of matched first robots is equal to the number of working areas, and each matched first robot has a one-to-one correspondence with each working area.
[0119] In step S903, a matched first robot whose number of assigned tasks is less than the upper threshold of the tasks is selected as a first robot waiting for assignment. Here, the upper threshold of the tasks refers to the maximum number of tasks that can be assigned to the matched first robot.
[0120] In step S904, a target task is determined from the assignable tasks based on the distance between the first robot awaiting assignment and the target bin corresponding to each assignable task and the number of working areas passed by the first robot awaiting assignment to move to the target bin corresponding to each assignable task, and is assigned to the corresponding first robot awaiting assignment.
[0121] For example, in step S901, the number of assignable tasks includes the number of assignable input tasks and the number of assignable output tasks. Here, the number of assignable input tasks can be calculated based on the number of input tasks waiting to be assigned and the number of available temporary storage spaces. The number of assignable output tasks can be calculated based on the number of output tasks waiting to be assigned and the available storage spaces.
[0122] Illustratively, in step S902, if there are a plurality of work areas, the number of storage spaces corresponding to each work area is equal, and the matched first robot performs the retrieval task or the retrieval task in the corresponding work area.
[0123] For example, in step S904, the distance between the first robot awaiting assignment and the target bin corresponding to each assignable task may be the distance between the position of the first robot awaiting assignment before executing the task and the position of the temporary storage space where the target bin corresponding to the assignable storage task is located, or may be the distance between the position of the first robot awaiting assignment before executing the task and the position of the storage space where the target bin corresponding to the assignable retrieval task is located. The number of working areas passed by the first robot awaiting assignment to move to the target bin corresponding to each assignable task is the number of working areas passed by the first robot awaiting assignment in the process of moving from its current position to the position of the target bin in the process of performing this assignable task.
[0124] The distance between the first robot awaiting assignment and the target bin corresponding to the assignable task is inversely proportional to the assignment value for assigning the assignable task to the first robot awaiting assignment. In other words, the shorter the distance between the first robot awaiting assignment and the target bin corresponding to the assignable task, the larger the assignment value of the assignable task to the first robot awaiting assignment. The number of working areas passed by the first robot awaiting assignment to move to the target bin corresponding to each assignable task is inversely proportional to the assignment value for assigning the assignable task to the first robot awaiting assignment. In other words, the smaller the number of working areas passed by the first assigned robot to move to the target bin corresponding to each assignable task, the larger the assignment value for assigning this assignable task to the first robot awaiting assignment.
[0125] Selectively, the allocation value Uij that an assignable task assigns to the first robot waiting for allocation satisfies the following formula:
[0126] U_2=-e_1*f_2-e_2*g / g_max
[0127] Here, f2 is the number of working areas that the first robot ai waiting for assignment has passed through to perform the assignable task, g is the distance that the first robot ai waiting for assignment travels to perform the assignable task, gmax is the maximum distance that each first robot ai waiting for assignment travels to perform the assignable task, and e1 and e2 are preset values, for example, e1 may be 700 and e2 may be 1.
[0128] In the above formula, if the denominator of a fraction is zero, the result of the fraction calculation will be zero.
[0129] In addition, when the working area in which the target bin corresponding to the assignable task is located is located at the end of the target passage, and the first robot awaiting assignment is not located in the working area in which the target bin is located, the assignment value of the assignable task for the first robot awaiting assignment is made to approach 0.
[0130] In one example, the KM algorithm can be used to find the maximum weight matching where the first robot waiting to be assigned and the task waiting to be assigned are in a perfect match.
[0131] Specifically, all first robots waiting for assignment are added to vertex set P, all tasks waiting for assignment are added to vertex set Q, and a weighted bipartite graph of all first robots waiting for assignment and tasks waiting for assignment is constructed by connecting any vertex pi in vertex set P with any vertex qj in vertex set Q to form an edge (i, j). The assignment value between first robot i and task j is used as the weight value of edge (i, j). Next, the KM algorithm is used to find the maximum weight matching in the complete matching of the weighted bipartite graph. That is, a matching is found so that all vertices in vertex set P have a corresponding matching vertex in vertex set Q, all vertices in vertex set Q have a corresponding matching vertex in vertex set P, and the sum of the weight values of all edges (i, j) is maximized.
[0132] The maximum weight matching in the perfect matching obtained by the KM algorithm is the optimal allocation method between the first robots waiting for assignment and the tasks waiting for assignment, and maximizes the sum of the allocation values between the corresponding first robots waiting for assignment and the tasks waiting for assignment in each pair. This makes it possible to quickly and accurately determine the optimal allocation result between the first robots waiting for assignment and the tasks waiting for assignment, and to ensure that, overall, each first robot waiting for assignment and each task waiting for assignment has the highest allocation value, and further improves the execution efficiency when the first robot performs retrieval tasks and storage tasks in the aisle.
[0133] Optionally, as shown in FIG. 10, step S901 includes steps S1001, S1002, and S1003.
[0134] In step S1001, the first reference value is calculated by adding the minimum value of the number of outgoing tasks waiting to be assigned and the number of available temporary storage spaces in the target aisle to the minimum value of the number of incoming tasks waiting to be assigned and the number of available storage spaces in the target aisle.
[0135] In step S1002, the second reference value is calculated by multiplying the number of matched first robots by the upper task threshold and subtracting the total number of assigned tasks of all matched first robots, where the upper task threshold is the maximum number of tasks that can be assigned to a single matched first robot.
[0136] In step S1003, the minimum value of the first reference value and the second reference value is selected as the number of tasks that can be assigned to the target path.
[0137] In one example, the number of assignable outgoing tasks and the number of assignable incoming tasks can be calculated based on the number of assignable tasks.
[0138] If the number of assignable tasks exceeds 0 and the number of output bins in the target aisle exceeds the product of the number of empty temporary storage spaces and a preset value v1, calculate the number of assignable input tasks, where the number of assignable input tasks is the minimum value among the number of assignable tasks, the number of input bins in the temporary storage spaces, and the number of empty storage spaces, and v1 is 0.5;
[0139] Calculate the number of allocatable outgoing tasks, where the number of allocatable outgoing tasks is the minimum value of the difference between the number of allocatable tasks and the number of allocatable incoming tasks, the number of outgoing tasks waiting for allocation, the number of available temporary storage spaces, and a comparison value, and the comparison value C0 satisfies the following formula:
[0140] C0=max(0, j*v2-k)
[0141] Here, j is the number of empty temporary storage spaces, k is the number of delivery bins, and the preset value v2 may be 0.8.
[0142] Furthermore, calculating the number of allocable outgoing tasks and the number of allocable incoming tasks based on the number of allocable tasks further includes: when the number of allocable tasks is greater than 0 and the number of outgoing bins in the target aisle is less than or equal to the product of the number of available temporary storage spaces and a predetermined value v1, calculating the number of allocable outgoing tasks, where the number of allocable outgoing tasks is the minimum of the number of allocable tasks, the number of outgoing tasks waiting for allocation, the number of available temporary storage spaces, and a comparison value, where the comparison value C0 satisfies the following formula: and calculating the number of allocable incoming tasks, where the number of allocable ingoing tasks is the minimum of the difference between the number of allocable tasks and the number of outgoing tasks, the number of ingoing bins in the temporary storage spaces, and the number of available storage spaces.
[0143] C0=max(0, j*v2-k)
[0144] Here, j is the number of empty temporary storage spaces, k is the number of delivery bins, and the preset value v2 may be 0.8.
[0145] A control method for a warehouse system according to a third embodiment of the present application will be described below with reference to Figures 11 to 17. The control method for a warehouse system according to this embodiment can be applied to a warehouse system that assigns a second robot to an aisle having a task waiting to be assigned, and assigns the task waiting to be assigned to the second robot.
[0146] 11 is a flowchart illustrating a control method for a warehouse system according to an embodiment of the present application. As shown in FIG. 11, the method includes the following steps S1101, S1102, S1103, and S1104.
[0147] In step S1101, an input warehouse area and an output warehouse area are determined from a plurality of initial warehouse areas based on the number of tasks waiting to be assigned in each initial warehouse area and the current number of second robots.
[0148] In step S1102, the second robot for delivery in each delivery warehouse area is determined.
[0149] In step S1103, an import second robot in each import warehouse area is determined from each export second robot, and the import second robot is placed in the corresponding import warehouse area from the export warehouse area.
[0150] In step S1104, for each matching waiting warehouse area, a corresponding second target robot for each target bin in the matching waiting warehouse area is determined from the available second robots in the matching waiting warehouse area, where the second target robot is used to perform the corresponding assignment waiting task, i.e., to transport the target bin from the storage space to the target station.
[0151] For example, the warehouse system includes a plurality of warehouse storage areas, each of which includes a storage rack and a station, and a second robot is assigned to each warehouse area to perform a task corresponding to each warehouse area. The initial warehouse area refers to each warehouse area before the second robot is deployed.
[0152] A task waiting to be assigned in the initial warehouse area refers to a task to which a second robot in the initial warehouse area has not been assigned. The current number of second robots in the initial warehouse area is the number of second robots located in the initial warehouse area, and includes second robots executing tasks located in the initial warehouse area and second robots that are vacant. The import warehouse area refers to the initial warehouse area into which a second robot needs to be imported, and the export warehouse area refers to the initial warehouse area from which a second robot needs to be exported.
[0153] For example, the product of the ratio of the number of tasks waiting to be assigned in the initial warehouse area to the sum of the number of tasks waiting to be assigned in all initial warehouse areas and the total number of second robots in all initial warehouse areas is calculated, and the calculated product is compared with the current number of second robots in the initial warehouse area to determine whether a second robot needs to be imported or exported into or from the initial warehouse area, and whether the initial warehouse area is an import warehouse area or an export warehouse area.
[0154] In a specific example, each initial warehouse area includes a storage rack, a station, a first robot, and a second robot. A plurality of storage racks are arranged side by side at intervals, with an aisle defined between two adjacent storage racks. The storage rack includes a storage space and a temporary storage space, and the storage space and the temporary storage space are set on different levels. For example, the storage spaces may be arranged at intervals in the vertical direction, and the temporary storage space is located below the plurality of storage spaces and is set on the lowest level of the storage rack. The first robot can move along the aisle to transport bins on the temporary storage space to the storage space or to transport bins on the storage space to the temporary storage space. The station is used by workers to sort cargo stored in the bins and place cargo into the bins. The second robot can move between the storage rack and the station to transport bins on the temporary storage space to the station or to transport bins from the station to the temporary storage space.
[0155] For example, the output second robot in each output warehouse area can be determined from the second robots that are idle in the output warehouse area, or from the second robots that are idle in the output warehouse area and the second robots that are currently performing a bin return task and whose distance from the end point of the task is equal to or less than a preset distance threshold. Here, the idle second robot refers to a second robot that is not currently assigned a task, and the bin return task refers to the second robot transporting a bin from one storage rack to another storage rack.
[0156] For example, determining the import second robot in each import warehouse area from each export second robot involves selecting, for each import warehouse area, the export second robot that is closest to the import warehouse area from all the export second robots as the import second robot for that import warehouse area, and sending a movement command to the import second robot to control the call second robot to move from the export warehouse area in which it is currently located to the assigned import warehouse area.
[0157] In this embodiment, the warehouse system control method determines an input warehouse area and an output warehouse area from each initial warehouse area based on the number of tasks waiting to be assigned in each initial warehouse area and the current number of second robots. The output second robot for the output warehouse area is determined, and the output second robot for the input warehouse area is determined from the output second robot. Then, for each input warehouse area, a second target robot for each station in the input warehouse area is determined from the input second robot in the input warehouse area, and the tasks waiting to be assigned to the station are matched to each second target robot. This distributes the number of second robots in each initial warehouse area according to the actual situation in each initial warehouse area, rationalizing the distribution of second robots in each initial warehouse area and balancing the allocation of tasks in each initial warehouse area. This improves the work efficiency of the entire warehouse system and solves the technical problem in related art of reduced work efficiency due to an irrational distribution of second robots in each warehouse area of a warehouse system.
[0158] In one embodiment, step S1101 includes steps S1201 and S1202 as shown in FIG.
[0159] In step S1201, if the current number of second robots in the initial warehouse area is less than the number of second robots allocated to the initial warehouse area, the initial warehouse area is determined as the import warehouse area.
[0160] In step S1202, if the current number of second robots in the initial warehouse area is greater than the number of second robots allocated to the initial warehouse area, the initial warehouse area is determined as the import warehouse area.
[0161] Here, the number of second robots allocated to the initial warehouse area is the product of the ratio of the number of uncompleted tasks in the initial warehouse area to the total number of uncompleted tasks in the warehouse system and the total number of second robots in the warehouse system. In other words, the number of second robots allocated to the initial warehouse area is the product of the ratio of the number of uncompleted tasks in the initial warehouse area to the total number of uncompleted tasks in the warehouse system and the total number of second robots in the warehouse system.
[0162] If the current number of second robots in the initial warehouse area is equal to the allocated number of second robots in the initial warehouse area, there is no need to import or export second robots to or from the initial warehouse area. In other words, the initial warehouse area is neither an import warehouse area nor an export warehouse area.
[0163] In one embodiment, step S1102 includes steps S1301 and S1302 as shown in FIG.
[0164] In step S1301, the number of second robots to be exported from the export warehouse area is calculated based on the current number of second robots in the export warehouse area, the lower limit of the number of second robots, the allocated number of second robots, and the number of available second robots.
[0165] In step S1302, the second robot for output in the output warehouse area is determined based on the number of outputs of the second robot in the output warehouse area.
[0166] For example, for an output warehouse area, if the number of second robots assigned to the output warehouse area is equal to or greater than the lower limit of the number of second robots in the output warehouse area, the difference between the current number of second robots and the assigned number of second robots is calculated, and the minimum value between this difference and the number of available second robots is set as the number of second robots to be output from the output warehouse area. If the number of second robots assigned to the output warehouse area is smaller than the lower limit of the number of second robots in the output warehouse area, the difference between the current number of second robots and the lower limit of the number of second robots is calculated, and the minimum value between this difference and the number of available second robots is set as the number of second robots to be output from the output warehouse area. Here, the lower limit of the number of second robots may be the minimum number of second robots that can be accommodated in the output warehouse area, as preset. The number of available second robots may be the sum of the number of output second robots in the output warehouse area that are not currently assigned a task and the number of second robots that are executing a bin repositioning task and are located at a distance less than a preset distance threshold from the end point of the task.
[0167] The number of shipments U3 of the second robot in the output warehouse area can satisfy the following formula:
[0168] U3=max(k, max(0,k1)-max(k2, kmin))
[0169] Here, k is the number of available second robots in the export warehouse area, k1 is the current number of second robots in the export warehouse area, k2 is the allocated number of second robots in the export warehouse area, and kmin is the lower limit of the number of second robots in the export warehouse area.
[0170] For example, after obtaining the number of second robots to be sent out from the sending warehouse area, a corresponding number of available second robots are selected from the sending warehouse area and determined as the sending second robots.
[0171] In one embodiment, step S1103 includes steps S1401, S1402, S1403, and S1404 as shown in FIG.
[0172] In step S1401, the number of second robots to be introduced into the input warehouse area is calculated based on the allocated number of second robots in the input warehouse area, the current number of second robots, and the upper limit of the number of second robots.
[0173] In step S1402, the product of the ratio of the number of second robots imported into the import warehouse area to the sum of the number of second robots imported into each import warehouse area and the sum of the number of second robots exported out of each export warehouse area is used as the reference value.
[0174] In step S1403, the minimum value between the reference value and the number of second robots transferred into the input warehouse area is determined as the actual number of second robots required in the input warehouse area.
[0175] In step S1404, from the second export robots in each export warehouse area, the second export robot that is closest to the import warehouse area is selected as the second import robot for the import warehouse area according to the actual number of second import robots required.
[0176] For example, in step S1401, for each input warehouse area, if the number of second robots allocated to the input warehouse area is equal to or smaller than the upper limit of the number of second robots in the input warehouse area, the difference between the number of second robots allocated to the input warehouse area and the current number of second robots is calculated, and if the difference is greater than 0, this difference is set as the number of second robots introduced to the input warehouse area. If the number of second robots allocated to the input warehouse area is greater than the upper limit of the number of second robots allocated to the input warehouse area, the difference between the upper limit of the number of second robots allocated to the input warehouse area and the current number of second robots is calculated, and if the difference is greater than 0, this difference is set as the number of second robots introduced to the input warehouse area. Here, the upper limit of the number of second robots may be the maximum number of second robots that can be accommodated in the input warehouse area, which is preset.
[0177] The number U4 of the second robot entering the input warehouse area can satisfy the following formula:
[0178] U4=max(0,min(p2,pmax)-p1)
[0179] Here, p1 is the current number of second robots in the input warehouse area, p2 is the allocated number of second robots in the input warehouse area, and pmax is the upper limit of the number of second robots in the input warehouse area.
[0180] For example, in step S1404, the second export robot closest to the input warehouse area refers to the second export robot to which no task is assigned and which is closest to the current position of the second export robot and the second export robot which is executing a bin repositioning task and which is closest to the end position of the task and the input warehouse area. After the second export robot in the input warehouse area is determined, a movement command is sent to the second export robot to control it to move to the target input warehouse area.
[0181] In one embodiment, as shown in FIG. 15, the initial warehouse area includes multiple stations, and the method further includes the following steps.
[0182] In step S1501, a second target robot corresponding to each station is determined from available second robots in the matching waiting warehouse area based on the type and number of tasks waiting to be assigned in the matching waiting warehouse area.
[0183] In step S1502, the tasks waiting to be assigned to the station are matched with the second target robot corresponding to the station.
[0184] In addition, the warehouse area waiting for matching includes each import warehouse area and each export warehouse area after the second robot has been called, and the warehouse area waiting for matching also includes the initial warehouse area where there is no need to call the second robot.
[0185] For example, the types of tasks waiting to be assigned include an outgoing task, an incoming task, and an inventory task. Here, an outgoing task is a task of transporting bins from a storage rack to a station. An incoming task is a task of transporting bins from a station to a storage rack. An inventory task is a task of transporting bins from a storage rack to a station, where an employee conducts an inventory, and then returning the counted bins to the storage rack. Furthermore, the type of station is set to correspond to the type of task waiting to be assigned; in other words, one or more stations correspond to each type of task waiting to be assigned. For example, an outgoing task corresponds to at least one outgoing station, an incoming task corresponds to at least one incoming station, and an inventory task corresponds to at least one inventory station. For each type of task waiting to be assigned in the incoming warehouse area, the number of available second robots that need to be assigned for each type of task waiting to be assigned is determined according to the number of tasks waiting to be assigned corresponding to each type of task waiting to be assigned in the incoming warehouse area, and then the available second robots according to the corresponding number are assigned as second target robots to stations corresponding to the types of tasks waiting to be assigned, and the tasks waiting to be assigned corresponding to the stations are matched to the second target robots at the stations.
[0186] In addition, when the matching awaiting warehouse area is an output warehouse area after some of the second robots have been exported, the vacant second robot in the matching awaiting warehouse area may be the remaining vacant second robot in this output warehouse area. When the matching awaiting warehouse area is an input warehouse area after some of the second robots have been imported, the vacant second robot in the matching awaiting warehouse area may be the vacant second robot in the input warehouse area before the second robot was imported, and the second robot imported thereafter.
[0187] In a specific example, the number of available second robots that need to be assigned to each type of task waiting for assignment can be determined by calculating the product of the ratio of the number of tasks waiting for assignment corresponding to the type of task waiting for assignment to the total number of tasks waiting for assignment corresponding to each type of task waiting for assignment and the number of available second robots in the warehouse area waiting for matching.
[0188] In one embodiment, step S1501 includes steps S1601, S1602, S1603, and S1604 as shown in FIG.
[0189] In step S1601, for each type of task waiting for assignment, a first variable weight of the type of task waiting for assignment is calculated based on the ratio of the number of tasks waiting for assignment to the total number of tasks waiting for assignment, the fixed weight of the type of task waiting for assignment, and the initial variable weight of the type of task waiting for assignment.
[0190] In step S1602, one of the available second robots in the warehouse area waiting for matching is assigned as a second target robot to the station corresponding to the type of task waiting for assignment with the highest first variable weight.
[0191] In step S1603, for each type of task waiting for assignment, a second variable weight of the type of task waiting for assignment is calculated based on the ratio of the number of tasks waiting for assignment to the total number of tasks waiting for assignment, the fixed weight of the type of task waiting for assignment, and the first variable weight of the type of task waiting for assignment.
[0192] In step S1604, if both the number of available second robots waiting to be assigned and the number of tasks waiting to be assigned are greater than 0, the first variable weight calculation step, the second target robot assignment step, and the second variable weight calculation step are cycled, and the second variable weight of the type of task waiting to be assigned is set as the initial variable weight of the type of task waiting to be assigned.
[0193] In a particular example, steps S1601, S1602, S1603, and S1604 may be implemented by a smoothed weighted round robin algorithm.
[0194] For example, in step S1601, the first variable weight of the type of task waiting for assignment may be calculated by multiplying the ratio of the number of tasks waiting for assignment to the total number of each type of task waiting for assignment by the fixed weight of the type of task waiting for assignment, and then adding the product and the initial variable weight of the type of task waiting for assignment, where the initial variable weight of the type of task waiting for assignment may be set to 0.
[0195] For example, in step S1602, the type of task waiting to be assigned that has the highest first variable weight is selected, and 1 is added to the number of second target robots assigned to the station corresponding to this type of task waiting to be assigned.
[0196] For example, in step S1603, the ratio of the number of tasks waiting for assignment to the total number of each task waiting for assignment and the fixed weight of the type of task waiting for assignment may be calculated, and then the difference between the first variable weight of the type of task waiting for assignment and this product may be calculated to obtain the second variable weight of the type of task waiting for assignment.
[0197] For example, in step S1604, if the number of available second robots waiting for assignment is greater than 0, steps S1601, S1602, and S1603 are cycled, and the second variable weight is set as the initial variable weight in the subsequent step S1601. If the number of available second robots waiting for assignment is 0, that is, after determining the number to be assigned to each task type waiting for assignment for all available second robots, steps S1601, S1602, and S1603 are stopped.
[0198] In one embodiment, step S1502 further includes steps S1701, S1702, and S1703, as shown in FIG.
[0199] In step S1701, an allocation value for each task waiting for allocation is calculated based on the priority of the task waiting for allocation in the station and the distance between the target bin corresponding to the task waiting for allocation and the station.
[0200] In step S1702, in accordance with the number of second target robots in the station, tasks waiting for allocation that correspond to the highest allocation value are extracted as target tasks.
[0201] In step S1703, for each second target robot, the matching value of the second target robot matching each target task is calculated based on the distance between the second target robot and the target bin corresponding to each target task, and the target task with the highest matching value is selected and matched with the second target robot.
[0202] For example, in step S1701, the ratio of the priority of the bin corresponding to the task waiting for assignment to the maximum value among the priorities of the bins corresponding to the tasks waiting for assignment at the station can be calculated to determine the priority ratio value of the task waiting for assignment.The ratio of the distance between the bin corresponding to the task waiting for assignment and the station to the maximum value among the distances between the bin corresponding to the task waiting for assignment at the station and the task can be calculated to determine the distance ratio value of the task waiting for assignment.Then, the difference between the priority ratio value of the task waiting for assignment and the distance ratio value of the task waiting for assignment is calculated to determine the allocation value of the task waiting for assignment.
[0203] For example, in step S1703, the KM (Kuhn-Munkres) algorithm can be used to find the maximum weight matching between the target task and the second target robot in perfect matching.
[0204] Specifically, all second target robots are added to vertex set X, all target tasks are added to vertex set Y, an edge (i, j) is formed between any vertex xi in vertex set X and any vertex yj in vertex set Y, and the matching value between second target robot i and target task j is set as the weight value of edge (i, j), thereby constructing a weighted bipartite graph of all second target robots and all target tasks. Next, the KM algorithm is used to find the maximum weight matching in the complete matching of the weighted bipartite graph. That is, the matching is found such that every vertex in vertex set X has a corresponding matching vertex from vertex set Y, and every vertex in vertex set Y has a corresponding matching vertex from vertex set X, and the sum of the weight values of all edges (i, j) in this matching is maximized.
[0205] Here, the matching value between the second target robot i and the target task j may be the inverse of the distance between the target bin corresponding to the target task j and the station.
[0206] The maximum weight matching between vertex set X and vertex set Y in the perfect matching obtained by the KM algorithm is the optimal matching result between the second target robot and the target task, and the sum of the matching values between each pair of corresponding second target robots and target tasks is maximized. This allows the optimal matching result between the second target robot and the target task to be quickly and accurately obtained, and overall ensures a high matching value between each second target robot and each target task, allowing the second target robot to prioritize the execution of highly efficient target tasks and improving the execution efficiency of tasks waiting to be assigned to the station.
[0207] A control device 1800 of a warehouse system according to a fourth embodiment of the present application will be described with reference to FIG.
[0208] As shown in FIG. 18, the controller 1800 of the warehouse system includes the following modules:
[0209] The target station determination module 1801 determines a target station based on cargo information of tasks waiting to be assigned.
[0210] The target bin determination module 1802 determines candidate bins based on cargo information of each current bin and cargo information of tasks waiting to be assigned, and selects the candidate bin with the lowest transportation cost from among the candidate bins as the target bin.
[0211] The target robot determination module 1803 determines the target robot based on the position information of the target bin.
[0212] The target robot control module 1804 controls the target robot to transport the target bin to the target station.
[0213] In one embodiment, the target station determination module 1801 includes the following sub-modules:
[0214] The candidate station determination submodule determines candidate stations based on the number of storage spaces to be occupied by tasks waiting for allocation and the number of free storage spaces in each station.
[0215] The allocation efficiency value calculation submodule calculates the allocation efficiency value of each candidate station based on cargo information of bins assigned to the candidate stations, the distance between each bin and the candidate station, cargo information of bins not assigned to the candidate stations, and cargo information of remaining tasks waiting for assignment.
[0216] The target station determination submodule determines the candidate station with the largest allocation efficiency value as the target station.
[0217] In one embodiment, the target bin determination module 1802 includes the following sub-modules:
[0218] The remaining cargo information determination submodule determines remaining cargo information of the tasks waiting to be assigned based on the cargo information of the tasks waiting to be assigned and the cargo information of the assigned bins of the target station.
[0219] The candidate bin determination submodule determines, based on the cargo information of each current bin, a bin that satisfies the remaining cargo information of the tasks waiting to be assigned as a candidate bin.
[0220] The target bin determination submodule calculates the transportation cost of each candidate bin and determines the candidate bin with the lowest transportation cost as the target bin.
[0221] In one embodiment, the robot includes a first robot, and the target robot determination module 1803 includes the following sub-modules:
[0222] The target path determination sub-module determines a target path corresponding to the target bin based on the position information of the target bin.
[0223] The first target robot determination submodule determines a first target robot for transporting the target bin from the storage space to the temporary placement space based on the position of each first robot in the target passage.
[0224] In one embodiment, the robot includes a second robot, and the target robot determination module 1803 further includes a second target robot determination sub-module.
[0225] The second target robot determination submodule determines, based on the position information of the target bin, the second robot that is closest to the target bin as the second target robot for transporting the target bin from the temporary placement space to the target station.
[0226] In one embodiment, the target robot control module 1804:
[0227] controlling a second target robot to transport the target bin from the target station to the target rack;
[0228] It is further used to control the second target robot to park under the empty temporary storage space of the storage rack.
[0229] For the functions of each module in the control device 1800 of the warehouse system according to the fourth embodiment of the present application, reference can be made to the description corresponding to the control method according to the first embodiment described above, and the description will be omitted here.
[0230] A control device 1900 of a warehouse system according to a fifth embodiment of the present application will be described with reference to FIG.
[0231] As shown in FIG. 19, the controller 1900 of the warehouse system includes the following modules:
[0232] The matching-waiting first robot determination module 1901 selects an available first robot as a matching-waiting first robot.
[0233] The matching waiting path determination module 1902 selects the path where the target bin is located as the matching waiting path based on the position information of the target bin.
[0234] The target passage and first target robot determination module 1903 determines, for each first robot waiting to be matched, the corresponding target passage and first target robot based on the distance between the first robot waiting to be matched and each matching waiting passage and the number of tasks waiting to be assigned in each matching waiting passage.
[0235] The task allocation module 1904 allocates the tasks waiting to be assigned in the target passage to the corresponding first target robots.
[0236] In one embodiment, the matching queue path determination module 1902 includes the following sub-modules:
[0237] The first matching waiting passage determination submodule is used to select a passage having an assignment waiting task and in which the first robot does not exist as the first matching waiting passage, and when the number of first matching waiting passages is less than the number of first matching waiting robots, to select a passage having an assignment waiting task and in which the first robot exists as the second matching waiting passage.
[0238] In one embodiment, the task assignment module 1904 includes the following sub-modules:
[0239] The submodule for calculating the number of tasks that can be assigned calculates the number of tasks that can be assigned to the target path.
[0240] When the number of assignable tasks is greater than 0, the working area division submodule divides the working area into a corresponding number of working areas in the target passage according to the number of first target robots.
[0241] The submodule for determining a first robot waiting for assignment selects a first target robot having a number of assigned tasks less than the upper threshold of the tasks as a first robot waiting for assignment.
[0242] The target task assignment submodule determines a target task from the target tasks waiting to be assigned based on the distance between the first robot waiting to be assigned and the target bin corresponding to each assignable task and the number of working areas passed by the first robot waiting to be assigned to move to the target bin corresponding to each assignable task, and assigns the target task to the corresponding first robot waiting to be assigned.
[0243] In one embodiment, the assignable task number calculation sub-module includes the following units:
[0244] The first reference value calculation unit calculates a first reference value by adding the minimum value of the number of outgoing tasks waiting to be assigned and the number of available temporary storage spaces in the target aisle to the minimum value of the number of incoming tasks waiting to be assigned and the number of available storage spaces in the target aisle.
[0245] The second reference value calculation unit calculates a second reference value by multiplying the number of matched first robots by an upper threshold of tasks and subtracting the total number of assigned tasks of all matched first robots.
[0246] The assignable task number determination unit selects the minimum value of the first reference value and the second reference value as the number of assignable tasks of the target path.
[0247] The functions of each module of the control device 1900 of the warehouse system according to the fifth embodiment of the present application can be referred to in the description corresponding to the control method according to the second embodiment described above, and will not be repeated here.
[0248] A control device 2000 of a warehouse system according to a sixth embodiment of the present application will be described with reference to FIG.
[0249] As shown in FIG. 20, the control device 2000 of the warehouse system includes the following modules:
[0250] The input warehouse area and output warehouse area determination module 2001 determines the input warehouse area and output warehouse area from each initial warehouse area based on the number of tasks waiting to be assigned in each initial warehouse area and the current number of second robots.
[0251] The output second robot determination module 2002 determines the output second robot for each output warehouse area.
[0252] The import second robot determination module 2003 determines an import second robot in each import warehouse area from each export second robot, and moves the import second robot from the export warehouse area to the corresponding import warehouse area.
[0253] The second target robot determination module 2004 determines, for each matching waiting warehouse area, a second target robot corresponding to each target bin in the matching waiting warehouse area from among the available second robots in the matching waiting warehouse area.
[0254] In one embodiment, the input warehouse area and output warehouse area determination module 2001 includes the following sub-modules:
[0255] The import warehouse area determination submodule determines the initial warehouse area as the import warehouse area when the current number of second robots in the initial warehouse area is less than the allocated number of second robots in the initial warehouse area.
[0256] The output warehouse area determination submodule determines the initial warehouse area as the output warehouse area when the current number of second robots in the initial warehouse area is greater than the allocated number of second robots in the initial warehouse area.
[0257] Here, the number of second robots allocated to the initial warehouse area is the product of the ratio of the number of uncompleted tasks in the initial warehouse area to the total number of uncompleted tasks in the initial warehouse system and the total number of second robots in the warehouse system.
[0258] In one embodiment, the export second robot determination module 2002 includes the following sub-modules:
[0259] The second robot export number calculation submodule calculates the number of second robots to be exported from the export warehouse area based on the current number of second robots in the export warehouse area, the lower limit of the number of second robots, the allocated number of second robots, and the number of available second robots.
[0260] The submodule for determining the second robot to be delivered determines the second robot to be delivered in the delivery warehouse area based on the number of deliveries of the second robot in the delivery warehouse area.
[0261] In one embodiment, the import second robot determination module 2003 includes the following sub-modules:
[0262] The second robot import number calculation submodule calculates the number of second robots to be imported into the import warehouse area based on the allocated number of second robots in the import warehouse area, the current number of second robots, and the upper limit value for the number of second robots.
[0263] The reference value calculation submodule uses the product of the ratio of the number of second robots brought into the input warehouse area to the total number of second robots brought into each input warehouse area and the total number of second robots brought into each output warehouse area as the reference value.
[0264] The submodule for determining the actual number of second robots required determines the minimum value between the reference value and the number of second robots transferred into the transfer warehouse area as the actual number of second robots required in the transfer warehouse area.
[0265] The import second robot determination submodule selects the export second robot that is closest to the import warehouse area as the import second robot for the import warehouse area from the export second robots in each export warehouse area based on the actual number of second robots required in the import warehouse area.
[0266] In one embodiment, the second target robot determination module 2004 includes the following sub-modules:
[0267] The second target robot determination submodule determines a second target robot corresponding to each station from among the available second robots in the matching waiting warehouse area based on the type and number of tasks waiting to be assigned in the matching waiting warehouse area.
[0268] The task matching submodule matches a task waiting to be assigned to a station to a second target robot corresponding to the station.
[0269] In one embodiment, the second target robot determination sub-module includes the following units:
[0270] The first variable weight calculation unit calculates, for each type of task waiting for assignment, a first variable weight of the type of task waiting for assignment based on the ratio of the number of tasks waiting for assignment to the total number of tasks waiting for assignment, the fixed weight of the type of task waiting for assignment, and the initial variable weight of the type of task waiting for assignment.
[0271] The second target robot allocation unit allocates one of the available second robots in the matching waiting warehouse area as a second target robot to a station corresponding to the type of task waiting to be assigned with the highest first variable weight.
[0272] The second variable weight calculation unit calculates, for each type of task waiting for assignment, a second variable weight for the type of task waiting for assignment based on the ratio of the number of tasks waiting for assignment to the total number of tasks waiting for assignment, the fixed weight for the type of task waiting for assignment, and the first variable weight for the type of task waiting for assignment.
[0273] When both the number of available second robots waiting to be assigned and the number of tasks waiting to be assigned are greater than 0, the circulation unit cycles through the first variable weight calculation step, the second target robot assignment step, and the second variable weight calculation step, and sets the second variable weight of the type of task waiting to be assigned as the initial variable weight of the type of task waiting to be assigned.
[0274] In one embodiment, the task matching sub-module includes the following units:
[0275] The allocation value calculation unit calculates an allocation value for each task waiting for allocation based on the priority of the task waiting for allocation in the station and the distance between the target bin corresponding to the task waiting for allocation and the station.
[0276] The target task determination unit extracts, as target tasks, a corresponding number of tasks waiting for allocation that have the highest allocation value from the tasks waiting for allocation in accordance with the number of second target robots in the station.
[0277] The target task matching unit calculates, for each second target robot, a matching value that the second target robot matches with each target task based on the distance between the second target robot and the target bin corresponding to each target task, and selects the target task with the highest matching value to match with the second target robot.
[0278] The functions of each module of the control device 2000 of the warehouse system according to the sixth embodiment of the present application can be referred to in the description corresponding to the control method according to the third embodiment described above, and will not be repeated here.
[0279] FIG. 21 is a block diagram of an electronic device according to one embodiment of the present application. As shown in FIG. 21, the electronic device includes a memory 2101 and a processor 2102. The memory 2101 stores instructions executable on the processor 2102. The control method of the warehouse system in any of the above embodiments is realized by the processor 2102 executing the instructions. The number of memories 2101 and processors 2102 may be one or more. The electronic device may 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 may also represent various forms of mobile devices, such as personal digital processing devices, mobile phones, smartphones, wearable devices, and other similar computing devices. The components, their connections and relationships, and their functions shown herein are merely exemplary and are not intended to limit the implementation of the present invention as described and / or claimed herein.
[0280] The electronic device may further include a communication interface 2103 for communicating with external devices and transmitting data. The devices may be connected to each other using different buses and mounted on a common motherboard, or may be mounted in other ways as needed. The processor 2102 may process instructions executed within the electronic device and may also include instructions in memory or graphical information stored therein for displaying a graphical user interface (GUI) on external input / output devices (e.g., display devices connected to the interface). In other embodiments, multiple processors and / or multiple buses may be used along with multiple memories and multiple memories as needed. Similarly, multiple electronic devices may be connected, each providing a required portion of the operation (e.g., as a server array, a set of blade servers, or a multiprocessor system). Take the processor 701 in FIG. 7 as an example. The buses may be divided into an address bus, a data bus, a control bus, etc. While FIG. 21 shows only bold lines for ease of illustration, it is not intended to imply that there is only one bus or that there is only one type of bus.
[0281] Optionally, in a particular implementation, if the memory 2101, the processor 2102, and the communication interface 2103 are integrated on a single chip, the memory 2101, the processor 2102, and the communication interface 2103 can communicate with each other via an internal interface.
[0282] It should be noted that the above-mentioned processor may be a central processing unit (CPU), other general-purpose processor, digital signal processing (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. In particular, the processor may be a processor supporting the ARM (Advanced RISC Machines) architecture.
[0283] An embodiment of the present application provides a computer-readable storage medium, such as the memory 2101 described above, that stores computer instructions that, when executed by a processor, implement the methods provided in any of the embodiments of the present application.
[0284] Optionally, memory 2101 may include a program storage area capable of storing an operating system and / or applications required for at least one function, and a data storage area capable of storing data generated by use of the electronic device related to the speech synthesis method. Furthermore, memory 2101 may include high-speed random access memory and / or non-transitory solid-state storage devices. For example, memory 2101 may include at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory 2101 optionally includes memory configured remotely from processor 2102, and these remote memories may be connected to the electronic device related to the speech synthesis method via a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local network, a mobile communication network, and combinations thereof.
[0285] As used herein, terms such as "one embodiment," "some embodiments," "examples," "specific examples," or "some examples" mean that the specific features, configurations, materials, or characteristics described in the embodiment or examples are combined and included in at least one embodiment or embodiment of the present invention. Furthermore, the described specific features, configurations, materials, or characteristics can be combined as appropriate in any one or more embodiments or examples. Furthermore, unless inconsistent, those skilled in the art can combine or combine different embodiments or examples and features in different embodiments or examples herein.
[0286] Furthermore, the terms "first" and "second" do not denote or imply a relative importance, but are merely for descriptive purposes and do not imply the number of technical features shown. Therefore, a feature qualified by "first" or "second" may explicitly or implicitly include at least one of the feature. In the description of this application, the meaning of "plurality" means two or more than two, unless explicitly limited.
[0287] Any process or method description illustrated in a flowchart or other format can be understood as one or more executable modules, fragments, or segments of code commands for implementing specific logical functions or process steps. Furthermore, the scope of the preferred embodiments of the present invention includes other implementations, including performing functions substantially simultaneously based on such functions or in reverse order, rather than in the order shown or described, as will be understood by those skilled in the art.
[0288] The logic and / or steps shown in the flowcharts or otherwise described may be viewed, for example, as a sequential listing of executable commands to implement logical functions, and may be tangibly embodied in any computer-readable medium for use in a command execution system, device, or facility (a computer-based system, including a system of processors or other systems capable of obtaining and executing commands from a command execution system, device, facility), or for use in a command execution system, device, or facility that uses these commands in combination.
[0289] It should be noted that each part of the present invention can be realized 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 an appropriate command execution system. All or part of the steps of the methods in the above embodiments can be realized by instructing relevant hardware with a program stored in a computer-readable storage medium, which includes one or a combination of the steps of the methods in the embodiments when executed.
[0290] Furthermore, each functional unit in each embodiment of the present invention may be integrated into a single processing module, may be a separate physical entity, or two or more units may be integrated into a single module. The integrated module may be implemented in hardware or as a software functional module. When the integrated module is implemented in a software functional module and sold or used as an independent product, it may be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a magnetic disk, an optical disk, or the like.
[0291] The above description is merely a specific embodiment of the present invention, and the scope of protection of the present invention is not limited thereto. Any modifications or replacements that can be easily thought of by those skilled in the art within the scope disclosed in the present invention should be included within the scope of the present invention. Therefore, the scope of the present invention should be governed by the claims.
Claims
1. 1. A method for controlling a warehouse system including a plurality of warehouse areas, comprising: determining an input warehouse area and an output warehouse area from the plurality of initial warehouse areas based on the number of tasks waiting to be assigned in each initial warehouse area and the current number of second robots; determining an output second robot in each of the output warehouse areas; determining an import second robot in each of the import warehouse areas from each of the export second robots, and disposing the import second robot from the export warehouse area to the corresponding import warehouse area; For each matching waiting warehouse area, determining a corresponding second target robot for each target bin in the matching waiting warehouse area from the available second robots in the matching waiting warehouse area; Determining an import second robot in each of the import warehouse areas from each of the export second robots includes: Calculating the number of second robots to be introduced into the input warehouse area based on the allocated number of second robots in the input warehouse area, the current number of second robots, and an upper limit value for the number of second robots; Calculating, as a reference value, the product of the ratio of the number of second robots introduced into the import warehouse area to the total number of second robots introduced into each of the import warehouse areas and the total number of second robots taken out of each of the export warehouse areas; determining the minimum value between the reference value and the number of second robots transferred into the input warehouse area as the actual number of second robots required in the input warehouse area; selecting, from the output second robots in each of the output warehouse areas, the output second robot that is closest to the input warehouse area as the input second robot in the input warehouse area in accordance with the actual number of second robots required in the input warehouse area, How to control a warehouse system.
2. determining an input warehouse area and an output warehouse area from the plurality of initial warehouse areas based on the number of tasks waiting to be assigned in each initial warehouse area and the current number of second robots; If the current number of second robots in the initial warehouse area is less than the allocated number of second robots in the initial warehouse area, determining the initial warehouse area as the input warehouse area; If the current number of second robots in the initial warehousing area is greater than the allocated number of second robots in the initial warehousing area, determining the initial warehousing area as the output warehousing area; Here, the number of second robots allocated to the initial warehouse area is the product of the ratio of the number of uncompleted tasks in the initial warehouse area to the total number of uncompleted tasks in the warehouse system and the total number of second robots in the warehouse system.
2. The method of claim 1 .
3. Determining the output second robot in each of the output warehouse areas includes: Calculating the number of second robots to be sent out from the sending-out warehouse area based on the current number of second robots in the sending-out warehouse area, a lower limit of the number of second robots, the allocated number of second robots, and the number of available second robots; determining a second robot to be sent out in the sending-out warehouse area based on the number of second robots sent out in the sending-out warehouse area, 3. The method of claim 2.
4. determining a second target robot corresponding to each target bin in the matching waiting warehouse area from the empty second robots in the matching waiting warehouse area, determining a second target robot corresponding to each station from among available second robots in the matching waiting warehouse area based on the type of tasks waiting to be assigned and the number of tasks waiting to be assigned in the matching waiting warehouse area; and matching the waiting tasks of the station to a second target robot corresponding to the station. The method according to any one of claims 1 to 3.
5. determining a second target robot corresponding to each station from among available second robots in the matching waiting warehouse area based on the type of tasks waiting to be assigned and the number of tasks waiting to be assigned in the matching waiting warehouse area; calculating, for each of the types of tasks waiting for assignment, a first variable weight for the type of tasks waiting for assignment based on a ratio of the number of the tasks waiting for assignment to a total number of the tasks waiting for assignment, a fixed weight for the type of tasks waiting for assignment, and an initial variable weight for the type of tasks waiting for assignment; Allocating one of the available second robots in the matching waiting warehouse area as a second target robot to a station corresponding to the type of the task waiting for allocation having the highest first variable weight; calculating, for each of the types of tasks waiting for assignment, a second variable weight for the type of tasks waiting for assignment based on a ratio of the number of the tasks waiting for assignment to a total number of the tasks waiting for assignment, a fixed weight for the type of tasks waiting for assignment, and a first variable weight for the type of tasks waiting for assignment; When the number of available second robots waiting to be assigned and the number of tasks waiting to be assigned are both greater than 0, the calculation step of the first variable weight, the allocation step of the second target robot, and the calculation step of the second variable weight are repeated repeatedly, and the second variable weight of the type of task waiting to be assigned is set as the initial variable weight of the type of task waiting to be assigned.
5. The method of claim 4.
6. Matching the waiting task for assignment to the station to a second target robot corresponding to the station includes: calculating an allocation value for each of the tasks waiting for assignment based on a priority of the task waiting for assignment for the station and a distance between the target bin corresponding to the task waiting for assignment and the station; extracting, as target tasks, a corresponding number of tasks waiting for allocation that have the highest allocation value from the tasks waiting for allocation based on the number of second target robots in the station; For each of the second target robots, calculating a matching value of the second target robot matching with each of the target tasks based on a distance between the second target robot and a target bin corresponding to each of the target tasks, and selecting the target task with the highest matching value to match with the second target robot.
5. The method of claim 4.
Citation Information
Patent Citations
Dispatching method and dispatching device for robotic transporting trucks
CN108398924A
Deciding and control system for waiting point of unmanned carrier vehicle
JP1987099816A
Mobile object allocation system and vehicle arrangement control method therefor
JP1998039929A
Mobile object allocation method
JP1998247115A
Order processing method and device, server, and storage medium
US20200302391A1