Robot scheduling method and device, equipment, storage medium and program product
By dividing and dynamically scheduling storage locations at multiple granular levels, a hierarchical management system for storage location groups and columns is constructed. This solves the problem of obstruction when retrieving goods from deep storage locations in multi-deep shelving, achieving efficient collaboration and resource balance in the warehousing system and improving overall operational efficiency.
Patent Information
- Application Number
- CN202511288930.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-09
- Publication Date
- 2025-11-21
AI Technical Summary
In multi-depth racking scenarios, climbing robots are easily blocked by shallow racks when retrieving deep storage bins, which complicates the picking and placing operations and affects the overall operational efficiency of the warehousing system.
By dividing storage locations into multiple granularities, a hierarchical management system of storage location groups and columns is constructed. Robots are dynamically scheduled to perform box emptying and retrieval tasks, enabling collaborative operation across storage location groups and optimizing the allocation of storage location resources.
It improves the overall operational efficiency of the warehousing system, solves the problem of obstruction when retrieving goods from deep storage locations, realizes the balanced allocation and efficient collaboration of warehousing resources, and makes full use of the space advantages of multi-deep racking.
Smart Images

Figure CN120986873A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of warehousing, and particularly relates to a robot scheduling method and device, equipment, a storage medium and a program product. BACKGROUND
[0002] With the continuous pursuit of space utilization rate in modern warehousing, high-layer development of shelves has become an inevitable trend. Through the layout of tracks on the shelves, the climbing robot can efficiently realize the storage and retrieval of high-layer containers, but to ensure operation safety, such robots can only carry a single container during a single operation.
[0003] At present, climbing robots are mostly applied to single-depth shelves, and such shelves are provided with only one row of storage locations per layer. In comparison, multi-depth shelves significantly reduce the number of passing channels between shelves by virtue of the multi-level and deep storage location structure, and exhibit great advantages in improving the space utilization rate of warehouses. However, while improving the space utilization rate, multi-depth shelves also increase the complexity of picking and placing operations. In the multi-depth shelf environment, if a container in a deep storage location needs to be taken out, and a blocking container exists in a shallow storage location, the blocking container needs to be carried to an idle storage location first, so that the container in the deep storage location can be successfully taken out. Therefore, in the multi-depth shelf scenario, how to schedule the climbing robot to improve the overall operation efficiency of the warehousing system is a technical problem to be solved. SUMMARY
[0004] The embodiments of the present disclosure provide a robot scheduling method and device, equipment, a storage medium and a program product, which innovatively perform multi-granularity division on storage locations for a warehousing system containing multi-depth shelves and climbing robots, construct a hierarchical management system of storage location groups and storage location columns, and realize dynamic scheduling for different levels of storage location units based on the real-time number of idle storage locations, thereby achieving warehousing balance and improving the overall operation efficiency of the warehousing system on the basis of ensuring the operation efficiency of a single container picking task.
[0005] In a first aspect, the present disclosure provides a robot scheduling method applied to a warehouse system. The warehouse system is used to store goods. The goods are stored in racks. Each layer of the rack is arranged in a matrix of multiple storage locations. Each column of the storage locations includes at least one storage location group. The rack is provided with a track for a robot to climb in each column to take or place goods in each storage location. The robot can only carry one good at a time. The method comprises: when the depth of the storage location where the first good to be taken out is greater than a preset depth, obtaining a first quantity of idle storage locations of a first storage location group where the first good is located; if the first quantity is less than a preset quantity, determining whether there is a second storage location group in the column where the first good is located, the second storage location group having a quantity of idle storage locations greater than the preset quantity; if there is, determining a destacking storage location from the idle storage locations of the second storage location group, or from the idle storage locations of the second storage location group and the first storage location group; generating a robot scheduling instruction based on the destacking storage location and the storage location where the first good is located; and the robot scheduling instruction is used to schedule the robot to perform a destacking task and a taking task. The destacking task comprises carrying the blocking goods of the first good to the destacking storage location, and the taking task comprises taking out the first good.
[0006] In a possible implementation, the destacking storage location is determined from the idle storage locations of the second storage location group, or from the idle storage locations of the second storage location group and the first storage location group, and the robot scheduling instruction is generated based on the destacking storage location and the storage location where the first good is located, comprising: determining one destacking storage location from the idle storage locations of the second storage location group; generating a destacking instruction based on the determined destacking storage location to control the first robot to carry the blocking goods of the first good with the smallest depth to the determined destacking storage location; and if the blocking goods of the first good are 0, generating a taking-out instruction of the first good to control the first robot or the second robot to take out the first good from the storage location.
[0007] In a possible implementation, the method further comprises: if the blocking goods of the first good are greater than 0, returning to perform the step of obtaining the first quantity of idle storage locations of the first storage location group where the first good is located.
[0008] In a possible implementation, the destacking storage location is determined from the idle storage locations of the second storage location group, or from the idle storage locations of the second storage location group and the first storage location group, comprising: determining the destacking storage location from the idle storage locations of the second storage location group, or from the idle storage locations of the second storage location group and the first storage location group, based on a height parameter of the storage location where the first good is located and a height parameter of the idle storage locations.
[0009] In a possible implementation, before generating the robot scheduling instruction based on the unloading location and the location of the first goods, the method further includes: determining the returning location of the second goods from the idle locations of the first group of locations or the second group of locations. Correspondingly, generating the robot scheduling instruction based on the unloading location and the location of the first goods includes: generating the robot scheduling instruction based on the unloading location, the location of the first goods, and the returning location; the robot scheduling instruction is used to schedule the robot to perform the returning task, the unloading task, and the taking task; the returning task includes placing the second goods at the returning location.
[0010] In a possible implementation, the method further includes: if the second group of locations does not exist, determining a third group of locations from the groups of locations of other columns; the number of idle locations in the third group of locations is greater than the preset number; and determining the unloading location from the idle locations of the third group of locations.
[0011] In a possible implementation, determining the third group of locations from the groups of locations of other columns includes: determining the third group of locations from the groups of locations of other columns based on at least one of the distance between each group of locations of other columns and the first group of locations and the priority of the outbound task corresponding to each group of locations of other columns.
[0012] In a possible implementation, the method further includes: obtaining the number of pending tasks of the warehouse system and the number of available robots; and generating the robot scheduling instruction based on the unloading location and the location of the first goods includes: if the number of pending tasks is greater than or equal to the number of available robots, generating the scheduling instruction of the first robot based on the unloading location and the location of the first goods, to schedule the first robot to perform the unloading task and the taking task; and if the number of pending tasks is less than the number of available robots, generating the scheduling instruction of the first robot and the second robot, to schedule the first robot to perform the unloading task and schedule the second robot to perform the taking task.
[0013] In a possible implementation, the method further includes: if the first number is greater than or equal to the preset number, determining a third number based on the depth of the location of the first goods; determining the third number of unloading locations from the idle locations of the first group of locations; and generating the robot scheduling instruction based on the third number of unloading locations and the location of the first goods.
[0014] In a possible implementation, when the third quantity of box unloading locations is determined from the idle locations of the first location group, the method further includes: determining a box restocking location from the idle locations of the first location group. Correspondingly, the generating the robot scheduling instruction based on the third quantity of box unloading locations and the location of the first goods includes: generating the robot scheduling instruction based on the box restocking location, the third quantity of box unloading locations and the location of the first goods; the robot scheduling instruction is used to schedule the robot to perform a box restocking task, a box unloading task and a box picking task; the box restocking task includes placing the second goods on the box restocking location.
[0015] In a second aspect, the embodiments of the present disclosure provide a robot scheduling device applied to a warehouse system. The warehouse system is used to store goods. A goods shelf of the warehouse system is provided with a plurality of locations in a matrix on each layer. Each column of locations includes at least one location group. The goods shelf is provided with a track for a robot to climb on each column, so as to pick and place goods in each location. The robot can only carry one good at a time. The device includes: a first quantity acquisition module configured to acquire a first quantity of idle locations of a first location group where a first good to be picked is located when a location depth of the first good is greater than a preset depth; a second location group determination module configured to determine whether a second location group exists in a column where the first good is located, the second location group having a quantity of idle locations greater than a preset quantity, if the first quantity of idle locations of the first location group where the first good is located is less than the preset quantity; and a scheduling module configured to determine a box unloading location from idle locations of the second location group, or from idle locations of the second location group and the first location group, if the second location group exists; and generate a robot scheduling instruction based on the box unloading location and the location of the first good. The robot scheduling instruction is used to schedule the robot to perform a box unloading task and a box picking task. The box unloading task includes carrying a blocking good of the first good to the box unloading location. The box picking task includes picking the first good.
[0016] In a third aspect, the embodiments of the present disclosure provide a scheduling device. The device includes: a memory and a processor.
[0017] The memory stores computer execution instructions.
[0018] The processor executes the computer execution instructions stored in the memory, so that the processor performs the first aspect and / or various possible implementation manners of the first aspect.
[0019] In a fourth aspect, the embodiments of the present disclosure provide a computer readable storage medium. The computer readable storage medium stores computer execution instructions. The computer execution instructions are executed by the processor to implement the first aspect and / or various possible implementation manners of the first aspect.
[0020] In a fifth aspect, the embodiments of the present disclosure provide a computer program product. The computer program product includes a computer program. The computer program is executed by the processor to implement the first aspect and / or various possible implementation manners of the first aspect.
[0021] The robot scheduling method, device, equipment, storage medium and program product provided by the embodiments of the present disclosure, each column of the multiple storage locations of each layer of the storage system of the warehouse system is interconnected, which leads to the situation that the deep location bin is blocked when it is taken out. Meanwhile, the rack also includes a track for the robot to climb, thereby improving the utilization rate of the storage space and the flexibility of the robot scheduling. For the foregoing warehouse system, the present scheme innovatively divides the storage locations into multiple granularities, and constructs a hierarchical management system of the storage location group and the storage location column, breaking the limitations of the traditional single storage location management mode, and realizing the fine management of the storage space resources. When the first goods in the deep location need to be taken out, the number of idle storage locations of the first storage location group where the first goods are located is first obtained. If the number is less than the preset number, it means that it is difficult to successfully complete the bin dumping operation to take out the first goods only by relying on the idle storage locations in the current storage location group. At this time, it is preferred to determine whether there is a second storage location group with sufficient number of idle storage locations in the column where the first goods are located. If there is, the bin dumping location can be flexibly determined from the idle storage locations of the second storage location group, or the idle storage locations of the second storage location group and the first storage location group are comprehensively considered. Based on the determined bin dumping location and the storage location where the first goods are located, a robot scheduling instruction is generated to drive the robot to sequentially execute the bin dumping task and the bin taking task. Based on the real-time number of idle storage locations, dynamic scheduling is realized to achieve efficient cooperation of different hierarchical storage location groups. The blocking problem of deep storage location taking goods is solved through cross-storage location group scheduling, which guarantees the operation efficiency of a single bin taking task. At the same time, the storage resources can be reasonably allocated among the storage location groups and the storage location columns, avoiding the overuse or idling of local storage locations, realizing the balance of the warehouse, effectively improving the overall operation efficiency of the warehouse system, fully utilizing the space utilization advantage of the multiple deep location racks, and overcoming the complexity challenge of taking goods. BRIEF DESCRIPTION OF DRAWINGS
[0022] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, further serve to explain the principles of the present disclosure.
[0023] Figure 1 A schematic view of a multiple deep location rack provided by the embodiments of the present disclosure;
[0024] Figure 2 A schematic view of a goods hooking component provided by the embodiments of the present disclosure;
[0025] Figure 3 A flowchart of a robot scheduling method provided by the embodiments of the present disclosure Figure 1 ;
[0026] Figure 4 A distribution diagram of multiple storage location groups of a column of storage locations provided by the embodiments of the present disclosure;
[0027] Figure 5 A schematic diagram of a robot performing a double-cycle task process is provided for an embodiment of the present disclosure.
[0028] Figure 6 A flowchart of a robot scheduling method is provided for an embodiment of the present disclosure. Figure 2
[0029] Figure 7 A flowchart of a robot scheduling method is provided for an embodiment of the present disclosure. Figure 3
[0030] Figure 8 A structural diagram of a robot scheduling device is provided for an embodiment of the present disclosure.
[0031] Figure 9 A structural diagram of a scheduling device is provided for an embodiment of the present disclosure.
[0032] The specific embodiments of the present disclosure have been shown through the above-described drawings, and will be described in more detail hereinafter. The drawings and the written description are not intended to restrict the scope of the present disclosure by any means, but to illustrate the concept of the present disclosure to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0033] The exemplary embodiments will be described in detail herein with reference to the attached drawings. In the following description, the same numbers are used to indicate the same or similar components. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0034] First, some of the terms involved in the present disclosure are explained:
[0035] Bin depth: In a warehouse system, in order to improve the storage density, multiple columns of bins are arranged on the same layer of shelves, each column of bins includes multiple (two or more) interconnected bins, and the bin depth is used to represent the row of the bin or the distance between the bin and the starting position of the column.
[0036] Blocking bin: In at least two bins of the same column on the same layer of shelves, when the bin with a deep or large bin depth is taken out, the bins stored in the bins with a shallow or small bin depth outside the bin are blocking bins.
[0037] Double-cycle task: for a shelf provided with a track for a robot to climb, the double-cycle task specifically refers to a task in which the robot, after placing the transported bin on the shelf while climbing along the track, can only take out the bin stored on other storage locations by moving up and down the track.
[0038] The technical solutions of the present disclosure and how the technical solutions of the present disclosure solve the above technical problems will be described in detail below with specific examples. The following specific examples can be combined with each other, and the same or similar concepts or processes can not be described again in some examples. The embodiments of the present disclosure will be described below with reference to the accompanying drawings.
[0039] Multi-depth shelves realize the three-dimensional and intensive development of warehouse space, significantly improve the warehouse density, and are widely used.
[0040] Exemplarily, Figure 1 A schematic diagram of a multi-depth shelf provided by an embodiment of the present disclosure, Figure 1 The shelves a and b each include 6 layers, and each column of each layer of the shelf a includes 3 interconnected storage locations, which can store 3 bins. The numbers at each storage location represent the depth of the storage location. When taking goods, the robot can directly take out the bin stored in the storage location with a depth of “1”. For the bins stored in the storage locations with depths of “2” or “3”, if there is a blocking bin, for example, a bin is stored in the storage location with a depth of “1”, the bin can be taken out only after the blocking bin is placed in an idle storage location in another column. The “1”, “2”, and “3” representing the depth of the storage location are only for illustration, and other numbers, characters, etc. can also be used to represent the depth of the storage location. The key is to represent the depth relationship of the storage location, such as 0, 1, 2, 5, 10, 15, deep, medium, shallow, etc.
[0041] The robot can carry one bin at a time. The robot can move to different layers of the shelf by moving up and down the track to perform the tasks of taking goods and placing goods.
[0042] For the foregoing warehouse system including a multi-depth shelf, the complexity of taking and placing goods is increased due to the existence of blocking bins. In order to improve the scheduling efficiency of the climbing robot in the multi-depth shelf scenario and the overall operation efficiency of the warehouse system, the present disclosure provides a robot scheduling method. The method constructs a hierarchical management system of storage location groups and storage location columns by multi-granularity division of storage locations, dynamically plans the bin placement and robot operation path in combination with the real-time number of idle storage locations, effectively solves the blocking problem when taking goods from deep storage locations, ensures efficient completion of individual tasks, realizes balanced allocation of warehouse resources, and significantly improves the operation efficiency of the warehouse system.
[0043] In some embodiments, in order to fully exert the storage efficiency of the multi-depth shelf, a hooking component can be added to the goods, such as the goods, to realize the connection between the goods placed on the shelf. Figure 2 The schematic diagram of the goods hooking component provided by the embodiments of the present disclosure is shown in Figure 2 As shown, the first hooking component 210 and the second hooking component 220 are respectively arranged on the opposite two sides of the goods, and the goods stored on the shelf can be connected by the first hooking component 210 and the second hooking component 220 of the new goods to be stored on the shelf, so as to realize the connection of the two goods.
[0044] When the goods placed in the adjacent storage locations in the same layer and the same column of the shelf are connected by the hooking components, a linked storage unit is formed. When the robot performs the goods placing task, the goods will be preferentially placed in the idle storage location with the shallowest depth, such as the storage location with the depth marked as "1". If the storage location is occupied, that is, the goods are stored in the storage location, the robot will first connect the carried goods with the goods in the storage location with the depth "1", and then push the goods in the direction of increasing the depth. In this way, the goods originally in the storage location with the depth "1" will be automatically translated to the storage location with the depth "2", and the goods carried by the robot will be naturally placed in the storage location with the depth "1".
[0045] In the unloading operation scenario, the advantage of the goods hooking is more significant. When the robot takes out the goods stored in the storage location with the depth "1", the other goods in the same column connected with the goods will automatically fill the vacancy in the forward direction (the direction of decreasing the depth) due to the mechanical linkage. This linkage mechanism greatly simplifies the operation logic of the robot, so that the robot only needs to handle the first box to drive the whole column of goods to complete the storage location update.
[0046] The goods hooking design and the non-hooking design are both common modes, each having advantages.
[0047] Figure 3 The flowchart of the robot scheduling method provided by the embodiments of the present disclosure is shown in Figure 1 The robot scheduling method is applied to a warehouse system, and can be executed by a scheduling device of the warehouse system. The scheduling device can be a computer, a server or other forms of electronic devices. The warehouse system is used to store goods, such as boxes, and each layer of the shelf is arranged in a matrix with multiple storage locations. Each column of storage locations includes at least one storage location group. The shelf is provided with a track for the robot to climb in each column to take and place the goods in each storage location, and the robot can only carry one goods at a time. Figure 3 The robot scheduling method includes the following steps.
[0048] In step S301, when the depth of the first storage location where the first goods to be taken out is greater than the preset depth, the first number of idle storage locations of the first storage location group where the first goods are located is obtained.
[0049] In the library position group, each library position corresponds to the same track, and the depth of the library position can be determined according to a related parameter in the depth direction. The related parameter can be a length parameter or an integer without unit. For example, the depth of the library position can represent the number of rows of the library position in the library position matrix of the layer, or reflect the distance between the library position and the first library position in the layer or column. The depth of the goods placed on the shelf can be represented by the depth of the library position where the goods are located. The idle library position is a library position without storing goods.
[0050] The library position group can be pre-allocated, that is, the library positions of the warehouse system are pre-divided according to the corresponding track to obtain a plurality of library position groups. Library positions corresponding to the same track can be directly divided into a library position group. Further division can be performed on a column of library positions corresponding to the same track based on factors such as the height of the library position and the storage density of the shelf, so as to divide the column of library positions into a plurality of library position groups. For example, the number of divided library position groups can be determined based on the storage density of the shelf, and a group of library positions corresponding to the same track can be divided into a corresponding number of library position groups according to the height, so that a plurality of layers of library positions with consecutive layers are divided into a library position group.
[0051] A group of library positions corresponding to the same track is referred to as a column of library positions, and each column of library positions can include at least one library position group. For example, part of the column of library positions can include a plurality of library position groups, and another part of the column of library positions can include only one library position group.
[0052] A column of library positions can be library positions corresponding to the same track on the same shelf, such as library positions of different layers with the same column number on the shelf, or can be library positions corresponding to the same track on two opposite shelves, such as Figure 1 The library positions of shelves a and b in the middle can be a column of library positions. Two library positions corresponding to the same track can share two tracks or four tracks.
[0053] For example, Figure 1 The library positions of the first to third layers of shelves a and b can be divided into a library position group, and the library positions of the fourth to sixth layers can be another library position group.
[0054] The first goods can be any goods that need to be taken out and stored on the shelf through a bin or directly stored on the shelf. The library position group where the first goods are located is referred to as the first library position group, and the library position where the first goods are located is referred to as the first library position. The number of idle library positions in the first library position group is the first number.
[0055] When the depth of the storage location where the first goods is located is greater than the preset depth, the blocking goods of the first goods need to be taken out first when the first goods is taken out. Assuming that the depth is used to represent the number of rows of the storage location, if the first goods is placed in a storage location with a depth of M (M>1), then M-1 blocking bins need to be taken out first before the first goods can be taken out. Based on this, when the robot is scheduled to perform the taking-out task of the first goods, it is necessary to first determine whether the number of idle storage locations in the first storage location group, i.e., the first number, is sufficient to place the blocking bins. Therefore, the first number needs to be obtained first to determine whether the number of idle storage locations in the first storage location group is sufficient for the turnover of the blocking bins.
[0056] If the depth of the storage location where the first goods is located is less than or equal to the preset depth, it indicates that the first goods is placed in the shallowest storage location, and there is no blocking bin, so the robot scheduling instruction can be generated based on the storage location where the first goods is located to schedule the robot to go to the first storage location to take out the first goods.
[0057] In step S302, if the first number is less than the preset number, it is determined whether there is a second storage location group in the column where the first goods is located, the number of idle storage locations of which is greater than the preset number.
[0058] The preset number can be a default number or the number of storage locations contained in each layer of the first storage location group. For example, as shown in the goods shelf, Figure 1 the preset number can be 3. The second storage location group is another storage location group located in the same column as the first storage location group.
[0059] After obtaining the first number, it is determined whether the first number is greater than or equal to the preset number; if not, it is determined whether the number of idle storage locations of other storage location groups in the column where the first goods is located is greater than the preset number, and if so, a second storage location group is obtained.
[0060] If the first number is greater than or equal to the preset number, the bin-turning storage location is determined from the idle storage locations of the first storage location group, and then the robot scheduling instruction is generated through step S304.
[0061] In step S303, if so, the bin-turning storage location is determined from the idle storage locations of the second storage location group, or from the idle storage locations of the second storage location group and the first storage location group.
[0062] The bin-turning storage location is used to store the blocking goods of the first goods, i.e., the goods stored in the same layer of the same column of storage locations as the first goods, and the depth of the storage location is less than that of the first storage location. The number of bin-turning storage locations is determined by the depth of the first storage location or the number of blocking goods of the first goods.
[0063] If there are multiple storage location groups in the column containing the first item with more available storage locations than a preset number (i.e., multiple second storage location groups exist), then the storage location for repackaging can be determined based on the second storage location group that is closest to the first storage location group or has the most available storage locations. For example, the storage location for repackaging can be determined from the available storage locations in the second storage location group that is closest to the first storage location group or has the most available storage locations, or from both the second storage location group that is closest to the first storage location group or has the most available storage locations and the available storage locations in the first storage location group.
[0064] Figure 4 This is a schematic diagram illustrating the distribution of available storage locations in multiple storage location groups within a single storage location column, as provided in an embodiment of this disclosure. Figure 4 As shown, a row of storage locations in the warehousing system consists of 9 layers, with 2 storage locations per layer. Every 3 layers form a storage location group, that is, layers 1 to 3, layers 4 to 6, and layers 7 to 9 are storage location group 41, storage location group 42, and storage location group 43, respectively. The depth direction is as follows: Figure 4 In the D direction, the first item 410 is stored in the deepest storage location on the second floor, belonging to storage location group 41. Since each floor in this column includes two storage locations, the preset quantity is two. Figure 4 It can be seen that the number of vacant storage locations in storage location groups 41, 42, and 43 are 1, 3, and 2, respectively. Figure 4 The idle storage locations are represented by dashed lines. Since both storage location groups 42 and 43 are second storage location groups, an empty storage location can be determined from the empty storage location of storage location group 42, which is closest to storage location group 41, or from the empty storage locations of storage location group 42 and storage location group 41, i.e., storage locations 411 to 414, to store the obstructing goods 420 of goods 410.
[0065] Optionally, the reloading location can be determined from the available locations in the second storage location group, or from the available locations in the second and first storage location groups, including: determining the reloading location from the available locations in the second storage location group, or from the available locations in the second and first storage location groups, based on the height parameters of the storage location where the first goods are located and the height parameters of the available locations.
[0066] When determining the location for repositioning boxes, the location can be determined from the corresponding location group (e.g., the second location group, or the second location group and the first location group) based on the height parameter of the location where the first goods are located and the height parameter of each available location in the location group for determining the location for repositioning boxes.
[0067] The third quantity of idle storage locations closest to the height parameter of the storage location where the first goods are located can be determined based on the height parameter of the storage location where the first goods are located and the height parameters of the idle storage locations in the corresponding storage location group, and the third quantity is the number of blocking goods of the first goods, so as to shorten the total travel distance of the robot in the process of unstacking and improve the efficiency of task execution. Unstacking specifically refers to moving the blocking goods, such as blocking bins, to the unstacking storage location.
[0068] A cost function can be set to calculate the cost of each idle storage location combination in the corresponding storage location group, and the number of idle storage locations in an idle storage location combination is the third quantity, and at least one idle storage location in different idle storage location groups is different. The idle storage location combination with the lowest cost is determined as the unstacking storage location. The cost function is a function of the height parameter of the idle storage location and the height parameter of the storage location where the first goods are located.
[0069] In step S304, the robot scheduling instruction is generated based on the unstacking storage location and the storage location where the first goods are located. The robot scheduling instruction is used to schedule the robot to perform the unstacking task and the picking task. The unstacking task includes moving the blocking goods of the first goods to the unstacking storage location, and the picking task includes picking the first goods.
[0070] The scheduling device can send the robot scheduling instruction to any one or more robots to move the first acquired blocking goods to the unstacking storage location, and then pick the first goods, for example, move the first goods to a target location, such as a sorting area.
[0071] After generating the robot scheduling instruction, the scheduling device can send the robot scheduling instruction to the first robot to complete the unstacking task and the picking task indicated by the robot scheduling instruction.
[0072] Since the storage location where the first goods are located and the unstacking storage location are located in the same column, the robot can complete the unstacking task and the picking task by climbing up and down the corresponding track in the column.
[0073] The first robot can be an idle robot or a robot performing a restocking task. The restocking task specifically refers to the task of placing the moved second goods on the shelf.
[0074] If the first robot has the second goods, the restocking storage location for the second goods also needs to be determined, so as to generate the robot scheduling instruction for scheduling the robot to perform the restocking task, the unstacking task and the picking task based on the restocking storage location group, the unstacking storage location and the storage location where the first goods are located. The restocking task includes placing the second goods on the restocking storage location. At this time, the task performed by the first robot can be referred to as a double-cycle task.
[0075] Exemplarily, Figure 5A schematic diagram of a first robot performing a double-cycle task process is provided for embodiments of the present disclosure, as shown in FIG. 1. Figure 5 As shown in FIG. 2, a first cargo 510 (located at a storage location 51), a case returning storage location 52, and a case reversing storage location 53 are as shown in FIG. 3. Figure 5 As shown in FIG. 3, the first robot carrying the second cargo 520 is instructed by the robot scheduling instruction to move to the track corresponding to the storage location group 50, and climb along the track to the position corresponding to the case returning storage location 52, and then place the carried second cargo 520 at the case returning storage location 52, and then move downward along the track to the position corresponding to the storage location 51, and then transfer the blocking cargo 530 to the case reversing storage location 53, and then return to the position corresponding to the storage location 51, and then take out the first cargo and return to the ground along the track. After that, the first robot can specifically transport the first cargo to the corresponding work station to complete the sorting, packaging, and delivery of the first cargo.
[0076] In some embodiments, the warehouse system can pre-classify the robots into robots performing double tasks and robots performing single tasks. Then, after determining the case returning storage location, the first robot can be determined from the robots performing double tasks, and the robot scheduling instruction of the first robot can be generated based on the case returning storage location and the storage location of the first cargo.
[0077] In other embodiments, whether the robots in the warehouse system can perform double tasks can be adjusted based on actual situations, for example, when the task is not urgent, all robots can be robots performing double tasks. Then, after determining the case returning storage location, the first robot performing double tasks can be determined based on the positions, states, etc. of the robots in the warehouse system.
[0078] Any idle robot can be determined as the first robot, for example, the idle robot closest to the first storage location group is determined as the first robot. If there is no idle robot in the warehouse system at present, the robot performing the case returning task of the second cargo but not having climbed the track of the corresponding storage location group can be determined as the first robot, and the robot scheduling instruction of the first robot can be generated based on the determined case returning storage location, case reversing storage location, and storage location of the first cargo, so as to modify the task of the first robot to the corresponding double-cycle task, so that the storage location of the second cargo carried by the first robot is updated to the determined case returning storage location, and the first robot sequentially performs the case returning task (placing the second cargo at the case returning storage location), the case reversing task (carrying the blocking cargo to the case reversing storage location), and the case taking task (taking out the first cargo) in the double-cycle task.
[0079] The robot scheduling method provided by the embodiments of the present disclosure is used for a warehouse system, each column of warehouse locations in each layer of the warehouse system is in a matrix distribution, each column of warehouse locations is interconnected, a situation of being blocked exists when a deep location bin is taken out, and the warehouse system further includes a track for a robot to climb, thereby improving the utilization rate of the warehouse space and the flexibility of robot scheduling; for the foregoing warehouse system, the warehouse locations are innovatively divided in multiple granularities, a hierarchical management system of warehouse location groups and warehouse location columns is constructed, the limitation of a traditional single warehouse location management mode is broken, and fine management of warehouse space resources is achieved. When a first goods in a deep location needs to be taken out, the number of idle warehouse locations of a first warehouse location group in which the first goods is located is first acquired, if the number is less than a preset number, it means that it is difficult to successfully complete the bin dumping operation to take out the first goods only by relying on the idle warehouse locations in the current warehouse location group. At this time, it is first determined whether there is a second warehouse location group with sufficient idle warehouse locations in the column in which the first goods is located. If there is, the bin dumping location can be flexibly determined from the idle warehouse locations of the second warehouse location group, or the idle warehouse locations of the second warehouse location group and the first warehouse location group are comprehensively considered. Based on the determined bin dumping location and the warehouse location of the first goods, a robot scheduling instruction is generated to drive the robot to sequentially perform the bin dumping task and the bin taking task. Dynamic scheduling is performed based on the real-time number of idle warehouse locations, and efficient collaborative operation of warehouse location groups at different levels is achieved. The blocking problem of deep warehouse location taking is solved by cross-warehouse location group scheduling, the operation efficiency of a single bin taking task is ensured, and the warehouse resources can be reasonably allocated among the warehouse location groups and the warehouse location columns, so that local warehouse locations are not excessively used or idle, the warehouse is balanced, the overall operation efficiency of the warehouse system is effectively improved, the advantages of the multi-deep location rack in space utilization are fully utilized, and the complexity challenge of taking goods is overcome.
[0080] Optionally, the method further includes: if there is no second warehouse location group, determining a third warehouse location group from the warehouse location groups of other columns; the number of idle warehouse locations in the third warehouse location group is greater than the preset number; and determining the bin dumping location from the idle warehouse locations of the third warehouse location group.
[0081] Optionally, the method further includes: if the first number is greater than or equal to the preset number, determining a third number based on the depth of the warehouse location of the first goods; determining the bin dumping location of the third number from the idle warehouse locations of the first warehouse location group; and generating a robot scheduling instruction based on the bin dumping location of the third number and the warehouse location of the first goods.
[0082] Optionally, in determining the third number of unloading locations from the idle locations of the first location group, the method further comprises: determining a restocking location from the idle locations of the first location group; and generating the robot scheduling instruction based on the third number of unloading locations and the location of the first goods, including: generating the robot scheduling instruction based on the restocking location, the third number of unloading locations, and the location of the first goods; the robot scheduling instruction is used to schedule the robot to perform the restocking task, the unloading task, and the picking task; the restocking task includes placing the second goods in the restocking location.
[0083] To implement the execution of the double-cycle task, when the idle locations of the first location group are sufficient, a restocking location and a third number of unloading locations need to be determined from the idle locations of the first location group.
[0084] The restocking location and the third number of unloading locations can be determined from the idle locations of the first location group based on the height parameters of the idle locations and the height parameter of the location of the first goods.
[0085] A cost function related to the height parameter can be set to calculate the cost of various combinations of the restocking location and the third number of unloading locations, and the restocking location and the unloading locations can be determined based on the combination with the lowest cost.
[0086] After the restocking location and the unloading locations are determined, the first robot carrying the second goods is controlled by the robot scheduling instruction to turn over the blocking goods to the unloading locations after placing the second goods in the restocking location, and then the first goods are picked out, so that one robot completes the double-cycle task of storing and picking goods by climbing up and down the same track.
[0087] Optionally, before generating the robot scheduling instruction based on the unloading locations and the location of the first goods, the method further comprises: determining a restocking location of the second goods from the idle locations of the first location group or the second location group; and generating the robot scheduling instruction based on the unloading locations and the location of the first goods, including: generating the robot scheduling instruction based on the unloading locations, the location of the first goods, and the restocking location; the robot scheduling instruction is used to schedule the robot to perform the restocking task, the unloading task, and the picking task; the restocking task includes placing the second goods in the restocking location.
[0088] The robot scheduling instruction can be executed by the first robot, and the first robot carrying the second goods is scheduled by the robot scheduling instruction to go to the layers where the blocking goods are located after placing the carried second goods in the restocking location, to turn over the blocking goods to the unloading locations, and to pick out the first goods after all the blocking goods are turned over to the unloading locations.
[0089] By simultaneously performing the returning task and the taking task by the first robot, the double-cycle task allocation is realized, the walking path of the robot performing the double task is reduced, and the efficiency of the double task execution is improved.
[0090] The robot scheduling instruction can also be executed by the first robot and the second robot together, wherein the first robot performs the returning task and the taking task, and the second robot performs the taking task. The first robot carries the second goods before executing the robot scheduling instruction. The second robot can be an idle robot responsible for taking the first goods from the first storage location, for example, carrying to the sorting area.
[0091] Figure 6 Flowchart of the robot scheduling method provided by the embodiments of the present disclosure Figure 2 The embodiments of the present disclosure provide a robot scheduling method Figure 3 The embodiments of the present disclosure provide a robot scheduling method Figure 6 As shown in the figure, the robot scheduling method can specifically include the following steps:
[0092] Step S601, when the depth of the storage location where the first goods to be taken out is greater than a preset depth, the first number of idle storage locations of the first storage location group where the first goods are located is obtained.
[0093] Step S602, based on the depth of the storage location where the first goods are located, the third number is determined.
[0094] The third number is the number of blocking goods of the first goods.
[0095] When the number of rows of the storage location is used to represent the depth, the third number can be equal to the depth of the storage location where the first goods are located minus 1.
[0096] When the length is used to represent the depth, the third number can be: the result of the depth divided by the length of a single storage location in the depth direction minus 1.
[0097] Step S603, determine whether the first number is greater than or equal to the preset number; if yes, execute step S604; if no, execute step S605.
[0098] Step S604, from the idle storage locations of the first storage location group, determine the returning storage locations of the third number.
[0099] Since the preset number is the number of storage locations contained in each layer of the first storage location group, and the third number is the number of blocking goods of the first goods, it can be known that the third number is less than the preset number. Therefore, when the number of idle storage locations of the first storage location group is sufficient, only the returning storage locations of the blocking goods of the first goods can be determined from the first storage location group.
[0100] The third quantity of the empty storage locations for the unloading of the material box can be determined from the empty storage locations in the first group of storage locations based on the height parameter of the storage location where the first goods are located.
[0101] The height parameter of the storage location is used to represent the height or the number of layers of the storage location. For example, the height parameter can be the specific height of the storage location relative to the ground, such as the coordinate of the height corresponding to the coordinate axis, such as the z-axis, in a three-dimensional coordinate system.
[0102] The third quantity of the empty storage locations for the unloading of the material box can be determined from the empty storage locations in the first group of storage locations based on the height parameter of the storage location where the first goods are located.
[0103] A cost function can be set to calculate the cost of each combination of the empty storage locations in the first group of storage locations, the number of empty storage locations in a combination being the third quantity, and at least one empty storage location in different combinations being different. The combination of the empty storage locations with the lowest cost is determined as the empty storage locations for the unloading of the material box. The cost function is a function of the height parameter of the empty storage locations and the height parameter of the storage location where the first goods are located.
[0104] In step S605, it is determined whether there is a second group of storage locations in the column where the first goods are located, the number of empty storage locations in the second group being greater than the preset number. If yes, step S606 is performed. If no, step S607 is performed.
[0105] The number of empty storage locations in the remaining groups of storage locations in the column where the first group of storage locations is located is obtained. If there is a remaining group of storage locations with a number of empty storage locations greater than the preset number, the remaining group of storage locations is determined as the second group of storage locations. If there is no remaining group of storage locations with a number of empty storage locations greater than the preset number, step S607 is performed.
[0106] The remaining groups of storage locations in the column where the first group of storage locations is located are traversed in order of distance from the first group of storage locations from near to far, the number of empty storage locations in the traversed groups of storage locations is obtained, and if the number is greater than the preset number, the traversed group of storage locations is determined as the second group of storage locations, and the traversal is ended. If the last group of storage locations is traversed and the number of empty storage locations in the group of storage locations is less than or equal to the preset number, there is no second group of storage locations in the column where the first goods are located, and step S607 is performed.
[0107] In step S606, the empty storage locations for the unloading of the material box are determined from the empty storage locations in the second group of storage locations, or from the empty storage locations in the second group of storage locations and the first group of storage locations.
[0108] If the number of idle storage locations in the first storage location group is less than the preset number, the second storage location group in the same column needs to be used for assistance. The third number of unloading storage locations can be determined only from the idle storage locations of the second storage location group, or part of the unloading storage locations can be determined from the idle storage locations of the second storage location group, and the other part of the unloading storage locations can be determined from the idle storage locations of the first storage location group.
[0109] Whether the unloading storage locations are determined from the idle storage locations of the second storage location group or from the idle storage locations of the second storage location group and the first storage location group, the total travel distance of the robot when performing the unloading task can be minimized as the principle. Based on the height parameter of the storage location where the first goods are located and the height parameter of the idle storage locations of the corresponding storage location group, the third number of unloading storage locations is determined.
[0110] Step S607, determining a third storage location group from the storage location groups of other columns.
[0111] Among them, the number of idle storage locations in the third storage location group is greater than the preset number.
[0112] If there is no second storage location group in which the number of idle storage locations in the column where the first goods are located (except the first storage location group) is greater than the preset number, consider other columns, for example, adjacent columns, to determine a third storage location group from the other columns in which the number of idle storage locations is greater than the preset number.
[0113] The other columns can be traversed in a certain order, for example, from the nearest to the farthest distance from the column where the first goods are located, until a third storage location group in which the number of idle storage locations is greater than the preset number is found in the traversed other columns.
[0114] Optionally, determining a third storage location group from the storage location groups of other columns includes: determining a third storage location group from the storage location groups of other columns based on at least one of the distance between the first storage location group and each storage location group of other columns and the priority of the outbound task corresponding to each storage location group of other columns.
[0115] For example, the other column storage location group with the highest priority of the corresponding outbound task and the number of idle storage locations greater than the preset number can be determined as the third storage location group.
[0116] For example, the other column storage location group closest to the first storage location group and the number of idle storage locations greater than the preset number can be determined as the third storage location group.
[0117] The number of idle storage locations greater than the preset number in other columns can be counted to obtain a set of candidate storage location groups; and then the scores of each candidate storage location group are calculated based on the priority of the outbound task corresponding to the candidate storage location group and the distance from the first storage location group, and the storage location group with the highest score is determined as the third storage location group.
[0118] The priority of the outbound task can be pre-configured or determined based on an urgency of the outbound task, a creation time of the outbound task, or the like. The urgency of the outbound task is determined by a time limit for execution of the outbound task.
[0119] Under the premise that the number of idle storage locations meets the demand, the total travel of the robot can be reduced and the task execution efficiency can be improved by considering the distance from the first storage location group; the turnover efficiency of the inverted box goods can be improved by selecting the storage location group with high outbound task priority as the third storage location group, since high-priority tasks are executed first.
[0120] In step S608, the inverted box storage location is determined from the idle storage locations in the third storage location group.
[0121] After finding the third storage location group with a number of idle storage locations greater than the preset number from other columns, the third number of inverted box storage locations is determined from the third storage location group based on the height parameters of the idle storage locations in the third storage location group and the height parameter of the first storage location where the first goods are located.
[0122] A cost function can be set up to calculate the cost of each idle storage location combination in the third storage location group, the number of idle storage locations in an idle storage location combination being the third number, and at least one idle storage location in different idle storage location combinations being different. The idle storage location combination with the lowest cost is determined as the inverted box storage location. The cost function is a function of the height parameters of the idle storage locations and the height parameter of the first storage location where the first goods are located.
[0123] In step S609, the robot scheduling instruction is generated based on the inverted box storage location and the first storage location where the first goods are located.
[0124] After determining the third number of inverted box storage locations through any of the branches corresponding to the foregoing steps, the robot scheduling instruction is generated based on the determined third number of inverted box storage locations and the first storage location where the first goods are located, to schedule at least one robot to transfer the third number of blocking goods of the first goods to each inverted box storage location, complete the inverted box task, and then take the first goods out of the storage location, completing the box taking task.
[0125] In this embodiment, the target storage location group (first storage location group, second storage location group, or third storage location group) with sufficient idle storage locations is found in the order of the storage location group, the same column storage location group, and the other column storage location group, to optimize the robot scheduling efficiency. The idle storage locations in the same group are used preferentially to reduce cross-area transportation; the same column storage location group is called to reduce cross-column movement cost; and if necessary, other column resources are enabled to ensure task continuity. The inverted box storage locations are reasonably planned to reduce robot invalid movement, shorten the operation path, and improve the goods storage and retrieval efficiency. At the same time, the number of inverted boxes is determined as needed to avoid resource waste, balance the warehouse space utilization and operation efficiency, be suitable for high-density warehouse scenarios, and enhance the overall scheduling flexibility and response speed of the system.
[0126] When the blocking goods of the first goods are multiple, in order to improve the accuracy of the determination of the unloading bin, the unloading bin of each blocking goods can be determined one by one. The unloading bin of each blocking goods can be determined in turn according to the order from shallow to deep or from small to large of the depth of the bin where the blocking goods is located. When determining the unloading bin, if there are sufficient (greater than a preset number) idle bins in the second bin group, the first unloading bin can be determined from the second bin group, and the robot is controlled by the unloading instruction to carry the blocking goods with the smallest depth to the first unloading bin. Since the blocking goods is carried to the second bin group, the number of idle bins in the first bin group is updated, and then the step of obtaining the first number of idle bins in the first bin group can be executed to determine whether the unloading bin of the next blocking goods can be determined from the first bin group. Specifically, when the number of idle bins in the first bin group is not less than the preset number, the unloading bin of this time is determined from the idle bins of the first bin group.
[0127] When determining the unloading bin each time, the determination is performed in the order of the first bin group, the second bin group and the third bin group. That is, when the number of idle bins in the first bin group is not less than the preset number, the unloading bin of this time is determined from the idle bins of the first bin group; when the number of idle bins in the first bin group is not less than the preset number and the number of idle bins in the second bin group is greater than the preset number, the unloading bin of this time is determined from the idle bins of the second bin group; and when the number of idle bins in the first bin group is not less than the preset number and the number of idle bins in the second bin group is less than or equal to the preset number, the unloading bin of this time is determined from the idle bins of the third bin group of other columns.
[0128] Each time an unloading bin is determined, a robot unloading instruction is generated based on the unloading bin to control the robot to carry one blocking goods to the unloading bin.
[0129] Optionally, the unloading bin is determined from the idle bins of the second bin group or from the idle bins of the second bin group and the first bin group, a robot scheduling instruction is generated based on the unloading bin and the bin where the first goods is located, including: determining an unloading bin from the idle bins of the second bin group; generating an unloading instruction based on the determined unloading bin to control the first robot to carry the blocking goods of the first goods with the smallest depth in the bin to the determined unloading bin; and if the blocking goods of the first goods is 0, generating a taking-out instruction of the first goods to control the first robot or the second robot to take out the first goods from the bin.
[0130] Optionally, the method further includes: if the blocking goods of the first goods is greater than 0, returning to execute the step of obtaining the first number of idle bins in the first bin group where the first goods is located.
[0131] Optionally, the method further comprises: if the second group of storage locations does not exist, determining a third group of storage locations from the groups of storage locations of other columns; the number of idle storage locations in the third group of storage locations is greater than the preset number; and determining the unstacking storage location from the idle storage locations of the third group of storage locations.
[0132] Optionally, after determining the unstacking storage location from the idle storage locations of the third group of storage locations, the method further comprises: obtaining the number of pending tasks of the warehouse system and the number of available robots; and generating a robot scheduling instruction based on the unstacking storage location and the storage location of the first goods, including: if the number of pending tasks is greater than or equal to the number of available robots, generating a scheduling instruction of a first robot based on the unstacking storage location and the storage location of the first goods to schedule the first robot to perform the unstacking task and the picking task; and if the number of pending tasks is less than the number of available robots, generating scheduling instructions of the first robot and a second robot to schedule the first robot to perform the unstacking task and the second robot to perform the picking task.
[0133] Since the unstacking storage location and the storage location of the first goods are located in different columns, if the unstacking task and the picking task are performed by the same robot, the robot needs to frequently go back and forth between the tracks corresponding to the two columns of storage locations, resulting in a longer task execution period. In this case, it can be determined whether to complete the unstacking task and the picking task by two robots according to the situation.
[0134] The comparison result of the number of pending tasks and the number of available robots of the warehouse system can be used to determine whether to complete the unstacking task and the picking task by two robots.
[0135] The number of pending tasks refers to the number of tasks that need to be completed by the warehouse system, which can specifically refer to the number of out-of-warehouse tasks, or to the number of all tasks. Some picking tasks and returning tasks can be performed by one robot, such as forming a double-loop task, and the picking task and the returning task can be regarded as one task when counting the number of pending tasks.
[0136] The number of available robots refers to the number of robots that can be used to perform tasks such as out-of-warehouse tasks.
[0137] If the number of pending tasks is less than the number of available robots, it indicates that there are redundant robots in the warehouse system, and the unstacking task and the picking task indicated by the robot scheduling instruction can be completed by two robots, i.e., the first robot and the second robot. That is, the robot scheduling instruction includes a scheduling instruction of the first robot and a scheduling instruction of the second robot to schedule the first robot to perform the unstacking task and carry each blocked goods to the unstacking storage location, and schedule the second robot to perform the picking task after the first robot completes the unstacking task.
[0138] If the number of to-be-completed tasks is greater than or equal to the number of available robots, it indicates that there is no redundant robot in the warehouse system, and the unloading task and the taking task indicated by the robot scheduling instruction can be completed by only one robot, i.e., a first robot. That is, a scheduling instruction of the first robot is generated to schedule the first robot to perform the unloading task, and after the first robot carries each blocked goods to the unloading location to complete the unloading task, the first robot performs the taking task to take out the first goods.
[0139] When the first robot or the second robot performs the unloading task or the taking task, the first robot or the second robot can also perform a returning task to place the carried goods as second goods on a returning location. The returning location can be determined from the idle locations of the corresponding location group together with the unloading location.
[0140] When the number of to-be-completed tasks is less than the number of available robots, double-robot cooperation is enabled, the time-consuming problem of single-robot cross-column round trips is avoided by using parallel operation characteristics, the task execution period can be greatly shortened, and the task processing efficiency is improved. When the number of to-be-completed tasks is greater than or equal to the number of available robots, the unloading task and the taking task are sequentially performed by a single robot, robot scheduling conflicts caused by forcibly splitting tasks are avoided, and the efficiency of overall task execution of the warehouse system is ensured.
[0141] Figure 7 Flowchart of the robot scheduling method provided by the embodiments of the present disclosure Figure 3 The embodiments of the present disclosure provide a robot scheduling method. Figure 7 The embodiments of the present disclosure provide a robot scheduling method. Figure 8 As shown in the figure, the robot scheduling method can specifically include the following steps:
[0142] Step S701: The depth of the location where the first goods to be taken out is obtained.
[0143] Step S702: It is judged whether the depth of the location where the first goods are located is greater than a preset depth; if not, step S703 is performed; if yes, step S704 is performed.
[0144] Step S703: Based on the location where the first goods are located, a robot scheduling instruction is generated to schedule a robot to take out the first goods.
[0145] The robot scheduling instruction generated in this step is only used to schedule the robot to perform the taking task, i.e., the task of taking out the first goods.
[0146] Step S704: The first number of idle locations of the first location group where the first goods are located is obtained.
[0147] Step S705: It is judged whether the first number is less than a preset number; if not, step S706 is performed; if yes, step S707 is performed.
[0148] Step S706, based on the depth of the first goods, determine the third quantity; from the idle storage locations of the first group of storage locations, determine the third quantity of the unstacking storage locations, and generate an unstacking instruction to control the first robot to carry the third quantity of the blocking goods to the corresponding unstacking storage location. Jump to step S712.
[0149] Step S707, determine whether the column where the first goods are located has a second group of storage locations with a number of idle storage locations greater than the preset number. If yes, execute step S708; if no, execute step S709.
[0150] Step S708, determine an unstacking storage location from the idle storage locations of the second group of storage locations.
[0151] The height parameter of the idle storage location closest to the height parameter of the first goods can be determined as the unstacking storage location.
[0152] Step S709, determine a third group of storage locations from the group of storage locations of other columns, and determine an unstacking storage location from the idle storage locations of the third group of storage locations.
[0153] Step S710, based on the determined unstacking storage location, generate an unstacking instruction to control the first robot to carry the blocking goods of the first goods with the smallest depth to the determined unstacking storage location.
[0154] Due to the hooking component, after the blocking goods of the first goods with the smallest depth are carried to the first unstacking storage location, the first goods and the remaining blocking goods (if any) move in the direction of decreasing depth under the action of the hooking component.
[0155] The first robot can be any robot, such as an idle robot, a robot carrying the second goods, etc.
[0156] Step S711, determine whether the blocking goods of the first goods are 0; if no, return to step S704 to continue to determine the unstacking storage location for the next blocking goods of the first goods; if yes, execute step S712.
[0157] Step S712, generate a first goods taking-out instruction to control the first robot or the second robot to take the first goods out of the storage location.
[0158] If the unstacking storage location of each blocking goods is not determined from the third group of storage locations, the first goods taking-out instruction can be a dispatching instruction of the first robot to dispatch the first robot to take the first goods out of the storage location.
[0159] If the dump bin location determined from the third bin group exists, the first goods taking instruction can be the scheduling instruction of the second robot to schedule the second robot to take the first goods from the location, so as to realize the blocking bin turnover by the first robot and the first goods taking by the second robot.
[0160] If the dump bin location determined from the third bin group exists, the first goods taking instruction can be the scheduling instruction of the second robot to schedule the second robot to take the first goods from the location, so as to realize the blocking bin turnover by the first robot and the first goods taking by the second robot.
[0161] In the embodiment, the dump bin locations of the blocking goods of the first goods are determined through an iterative process, and the dump bin locations are determined in the order of the first bin group, the second bin group and the third bin group, which can significantly improve the scheduling flexibility and resource utilization efficiency; each time the dump bin is only for the blocking goods with the smallest current depth, and the automatic movement characteristics of the hooking component are combined to realize real-time step positioning after single dump bin, and the position optimization of the remaining goods is triggered, without pre-planning of all dump bin paths, which greatly reduces the early calculation complexity; the resources in close proximity are preferentially utilized to reduce the moving distance of the robot across the area, and the bin with a height parameter close to the height parameter in the same column is selected to reduce the vertical moving cost.
[0162] The specific structure of the first robot is not limited in the disclosure, and the first robot at least has a component supporting climbing along the track, a component moving on the ground, and a component taking and placing goods, such as a fork.
[0163] In some embodiments, the robot can include a motion chassis and a fork. The robot can only control the fork to perform the taking and placing operation after climbing along the track to the corresponding bin location, such as taking the goods stored in the bin location or placing the transported goods on the bin location. That is, the fork of the robot cannot move independently of the motion chassis, and after the robot climbs to the position corresponding to the specified bin location, the motion of the chassis is converted into the action of the fork through a transmission mechanism, so as to realize the taking and placing operation.
[0164] For example, the fork can be a component cooperating with the hooking component provided on the goods, specifically a component cooperating with the first hooking component 210 to hook out the goods.
[0165] Corresponding to the robot scheduling method provided by the preceding embodiment, the embodiment of the present disclosure also provides a robot scheduling device, which is applied to a warehouse system. The warehouse system is used for storing goods. The shelves of the warehouse system are arranged in a matrix distribution of multiple storage locations on each layer. Each column of storage locations includes at least one storage location group. The shelves are provided with a track for a robot to climb on each column to take and place goods in each storage location. The robot can only carry one good in a single operation. Figure 8 A structural schematic diagram of the robot scheduling device provided by the embodiment of the present disclosure is shown in FIG. 8. As shown in FIG. 8, the robot scheduling device 80 provided by the embodiment includes a first quantity obtaining module 810, a second storage location group determining module 820, and a scheduling module 830. Figure 9
[0166] The first quantity obtaining module 810 is configured to obtain a first quantity of idle storage locations of a first storage location group in which a first good to be taken out is located when a storage location depth in which the first good is located is greater than a preset depth. The second storage location group determining module 820 is configured to determine whether a second storage location group in which a column in which the first good is located has a quantity of idle storage locations greater than a preset quantity if the first quantity of idle storage locations of the first storage location group in which the first good is located is less than the preset quantity. The scheduling module 830 is configured to determine a destacking storage location from idle storage locations of the second storage location group or from idle storage locations of the second storage location group and the first storage location group if the second storage location group exists, and generate a robot scheduling instruction based on the destacking storage location and a storage location in which the first good is located. The robot scheduling instruction is used to schedule a robot to perform a destacking task and a taking task. The destacking task includes carrying a blocking good of the first good to the destacking storage location. The taking task includes taking out the first good.
[0167] In a possible implementation, the scheduling module 830 is specifically configured to determine one destacking storage location from idle storage locations of the second storage location group, generate a destacking instruction based on the determined destacking storage location to control a first robot to carry a blocking good of the first good with the smallest storage location depth to the determined destacking storage location, and generate a taking-out instruction of the first good to control the first robot or a second robot to take out the first good from a storage location thereof if the blocking good of the first good is 0.
[0168] In a possible implementation, the scheduling module 830 is further configured to return to perform the step of obtaining the first quantity of idle storage locations of the first storage location group in which the first good is located if the blocking good of the first good is greater than 0.
[0169] In a possible implementation, when determining the destacking storage location, the scheduling module 830 is specifically configured to determine the destacking storage location from the idle storage locations of the second storage location group or from the idle storage locations of the second storage location group and the first storage location group based on a height parameter of the storage location in which the first good is located and a height parameter of the idle storage locations.
[0170] In a possible implementation, the robot scheduling apparatus 80 further includes a returning bin storage location determining module configured to determine a returning bin storage location of the second goods from the idle storage locations of the first storage location group or the second storage location group, before generating the robot scheduling instruction based on the returning bin storage location and the storage location of the first goods. Correspondingly, the scheduling module 830 is specifically configured to generate the robot scheduling instruction based on the returning bin storage location, the storage location of the first goods, and the returning bin storage location when generating the scheduling instruction; the robot scheduling instruction is used to schedule the robot to perform the returning bin task, the returning task, and the taking task; the returning bin task includes placing the second goods in the returning bin storage location.
[0171] In a possible implementation, the scheduling module 830 is further configured to determine a third storage location group from the storage location groups of other columns if the second storage location group does not exist, when determining the returning bin storage location; the number of idle storage locations in the third storage location group is greater than a preset number; and the returning bin storage location is determined from the idle storage locations of the third storage location group.
[0172] In a possible implementation, the scheduling module 830 is specifically configured to determine the third storage location group from the storage location groups of other columns based on at least one of the distance between each storage location group of other columns and the first storage location group and the priority of the outbound task corresponding to each storage location group of other columns, when determining the third storage location group.
[0173] In a possible implementation, the robot scheduling apparatus 80 further includes an information obtaining module configured to obtain the number of pending tasks and the number of available robots of the warehouse system. Correspondingly, the scheduling module 830 is specifically configured to generate the scheduling instruction of the first robot based on the returning bin storage location and the storage location of the first goods to schedule the first robot to perform the returning task and the taking task if the number of pending tasks is greater than or equal to the number of available robots, and to generate the scheduling instruction of the first robot and the second robot to schedule the first robot to perform the returning task and the second robot to perform the taking task if the number of pending tasks is less than the number of available robots, when generating the robot scheduling instruction.
[0174] In a possible implementation, the scheduling module 830 is further configured to determine a third number based on the depth of the storage location of the first goods if the first number is greater than or equal to the preset number, when generating the robot scheduling instruction; determine the returning bin storage locations of the third number from the idle storage locations of the first storage location group; and generate the robot scheduling instruction based on the returning bin storage locations of the third number and the storage location of the first goods.
[0175] In a possible implementation, the scheduling module 830, when determining the third number of box-out locations from the idle locations of the first location group, is further configured to determine a box-in location from the idle locations of the first location group. Correspondingly, the scheduling module 830, when generating the robot scheduling instruction, is specifically configured to generate the robot scheduling instruction based on the box-in location, the third number of box-out locations, and the location of the first cargo. The robot scheduling instruction is used to schedule the robot to perform a box-in task, a box-out task, and a box-picking task. The box-in task includes placing the second cargo in the box-in location.
[0176] The robot scheduling apparatus 80 provided in this embodiment can perform the robot scheduling method provided in the method embodiments, and has similar implementation principles and technical effects. Details are not described herein again.
[0177] Figure 9 A structural schematic diagram of the scheduling device provided in this embodiment of the present disclosure is shown in FIG. 9. As shown in FIG. 9, the scheduling device 90 provided in this embodiment includes a processor 901 and a memory 902.
[0178] In the implementation process, the memory 902 stores computer execution instructions, and the processor 901 executes the computer execution instructions stored in the memory 902, so that the processor 901 performs the robot scheduling method described above.
[0179] The specific implementation process of the processor 901 can refer to the method embodiments described above, and has similar implementation principles and technical effects. Details are not described herein again.
[0180] Optionally, the scheduling device 90 further includes a communication component 903. The processor 901, the memory 902, and the communication component 903 can be connected through a bus 904.
[0181] In the above embodiments, it should be understood that the processor can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the present disclosure can be directly embodied as hardware processor execution, or executed by a combination of hardware and software modules in the processor.
[0182] The memory can include a Random Access Memory (RAM) and can also include a Non-volatile Memory (NVM), such as at least one disk memory.
[0183] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, the bus in the drawings of the present disclosure does not limit to only one bus or one type of bus.
[0184] The present disclosure also provides a computer readable storage medium, which stores computer execution instructions, and the computer execution instructions are used to implement the above method when executed by a processor.
[0185] The present disclosure also provides a computer program product, which includes a computer program, and the computer program is used to implement the above method when executed by a processor.
[0186] The above readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a Static Random Access Memory (SRAM), a Read-Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Programmable Read-Only Memory (EPROM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a magnetic memory, a flash memory, a magnetic disk, or an optical disk. The readable storage medium can be any available medium that can be accessed by a general or special purpose computer.
[0187] An example readable storage medium is coupled to the processor such that the processor can read information from the readable storage medium and can write information to the readable storage medium. Of course, the readable storage medium can also be a part of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the readable storage medium can also exist as discrete components in the device.
[0188] The division of units is only a logical functional division, and in actual implementation, there can be another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.
[0189] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0190] In addition, the functional units in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit.
[0191] If the functions are realized in the form of software functional units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application or the part of the present application that essentially contributes to the prior art or the part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the embodiments of the present application. The foregoing storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.
[0192] Those skilled in the art can understand that all or part of the steps of the above-mentioned method embodiments can be completed by program instruction related hardware. The foregoing program can be stored in a computer readable storage medium. The program executes to perform the steps of the above-mentioned method embodiments; and the foregoing storage medium includes various media capable of storing program codes, such as ROM, RAM, magnetic disk, or optical disk.
[0193] Finally, it should be noted that other embodiments of the present application will readily occur to those skilled in the art upon consideration of the specification and practice of the present application disclosed herein. The present application is intended to include all such variations as fall within the general scope of the application, and includes the generic principles disclosed and the best mode known to the inventors to be currently practiced as well as variations thereof, without departing from the scope of the present application as defined by the claims. The specification and examples give the best application of the present application as known to at least one of the inventors at the time of the filing of this application. It is to be understood that since numerous modifications and changes will readily occur to those skilled in the art, the application is not to be limited to the exact construction and operation as illustrated and described. Accordingly, all such variations are intended to be included within the scope of the present application as defined in the claims. The application is to be limited only by the claims.
Claims
1. A robot dispatching method characterized by, The application is applied to a warehouse system, the warehouse system is used for storing goods, the goods shelves of the warehouse system are arranged with a plurality of storage sites in a matrix on each layer, each column of storage sites comprises at least one storage site group; the goods shelves are provided with a track for a robot to climb in each column to take and place goods in each storage site; The robot can only carry one goods in a single operation; the method comprises: When the depth of the storage site where the first goods to be taken out is greater than a preset depth, a first quantity of idle storage sites of a first storage site group where the first goods are located is acquired; If the first quantity is less than a preset quantity, it is determined whether there is a second storage site group in the column where the first goods are located, the second storage site group having a quantity of idle storage sites greater than the preset quantity; If there is, a destacking storage site is determined from the idle storage sites of the second storage site group or from the idle storage sites of the second storage site group and the first storage site group; Based on the destacking storage site and the storage site where the first goods are located, a robot scheduling instruction is generated; the robot scheduling instruction is used to schedule a robot to perform a destacking task and a taking task, the destacking task comprising carrying blocking goods of the first goods to the destacking storage site, and the taking task comprising taking out the first goods.
2. The method of claim 1, wherein, The destacking storage site is determined from the idle storage sites of the second storage site group or from the idle storage sites of the second storage site group and the first storage site group, and based on the destacking storage site and the storage site where the first goods are located, a robot scheduling instruction is generated, which comprises: One destacking storage site is determined from the idle storage sites of the second storage site group; Based on the determined destacking storage site, a destacking instruction is generated to control a first robot to carry the blocking goods of the first goods with the smallest depth of the storage site to the determined destacking storage site; If the blocking goods of the first goods are 0, a taking-out instruction of the first goods is generated to control the first robot or a second robot to take out the first goods from the storage site.
3. The method of claim 2, wherein, The method further comprises: If the blocking goods of the first goods are greater than 0, the step of acquiring the first quantity of idle storage sites of the first storage site group where the first goods are located is returned.
4. The method of claim 1, wherein, The destacking storage site is determined from the idle storage sites of the second storage site group or from the idle storage sites of the second storage site group and the first storage site group, which comprises: Based on a height parameter of the storage site where the first goods are located and a height parameter of the idle storage sites, the destacking storage site is determined from the idle storage sites of the second storage site group or from the idle storage sites of the second storage site group and the first storage site group.
5. The method of claim 1, wherein, Before the robot scheduling instruction is generated based on the destacking storage site and the storage site where the first goods are located, the method further comprises: A restacking storage site of a second goods is determined from the idle storage sites of the first storage site group or the second storage site group; The robot scheduling instruction is generated based on the destacking storage site, the storage site where the first goods are located and the restacking storage site; the robot scheduling instruction is used to schedule a robot to perform a restacking task, the destacking task and the taking task; the restacking task comprises placing the second goods on the restacking storage site. 6. The method of claim 1, wherein, The method further comprises: if the second storage location group does not exist, determining a third storage location group from the storage location groups of other columns; the number of idle storage locations in the third storage location group is greater than the preset number; determining the unloading storage location from the idle storage locations of the third storage location group.
7. The method of claim 6, wherein, The method further comprises: determining the third storage location group from the storage location groups of other columns based on at least one of the distance between each storage location group of other columns and the first storage location group and the priority of the outbound task corresponding to each storage location group of other columns.
8. The method of claim 6, wherein, The method further comprises: obtaining the number of pending tasks and the number of available robots of the warehouse system; The method further comprises: if the number of pending tasks is greater than or equal to the number of available robots, generating a scheduling instruction of a first robot based on the unloading storage location and the storage location of the first cargo to schedule the first robot to perform the unloading task and the picking task; if the number of pending tasks is less than the number of available robots, generating scheduling instructions of a first robot and a second robot to schedule the first robot to perform the unloading task and the second robot to perform the picking task.
9. The method according to any one of claims 1 to 8, characterized in that, The method further comprises: if the first number is greater than or equal to the preset number, determining a third number based on the depth of the storage location of the first cargo; determining a third number of unloading storage locations from the idle storage locations of the first storage location group; generating the robot scheduling instruction based on the third number of unloading storage locations and the storage location of the first cargo.
10. The method of claim 9, wherein, When determining the third number of unloading storage locations from the idle storage locations of the first storage location group, the method further comprises: determining a restocking storage location from the idle storage locations of the first storage location group; The method further comprises: generating the robot scheduling instruction based on the restocking storage location, the third number of unloading storage locations and the storage location of the first cargo; the robot scheduling instruction is used to schedule a robot to perform a restocking task, the unloading task and the picking task; the restocking task comprises placing the second cargo in the restocking storage location.
11. A robot dispatching apparatus characterized by comprising: The warehouse system is used to store goods, and the shelves for storing goods are arranged in a matrix. Each column of storage locations includes at least one storage location group. The shelves are provided with a track for a robot to climb in each column to pick up and place goods in each storage location. The robot can only carry one cargo at a time. The device comprises: a first number acquisition module, configured to acquire a first number of idle storage locations of a first storage location group in which a first cargo to be picked up is located when the depth of the storage location of the first cargo is greater than a preset depth; a second storage location group determination module, configured to determine whether a second storage location group in which the number of idle storage locations is greater than the preset number exists in the column in which the first cargo is located if the first number of idle storage locations in the first storage location group in which the first cargo is located is less than the preset number. The scheduling module is configured to: if there is a second group of storage locations, determine a de-palletizing storage location from among idle storage locations of the second group of storage locations, or from among idle storage locations of the second group of storage locations and the first group of storage locations; and generate a robot scheduling instruction based on the de-palletizing storage location and a storage location where the first goods are located; the robot scheduling instruction is used to schedule a robot to perform a de-palletizing task and a picking task, the de-palletizing task includes carrying the blocking goods of the first goods to the de-palletizing storage location, and the picking task includes picking the first goods.
12. A dispatching device, characterized by Comprising: a memory, a processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the processor executes the method of any one of claims 1-10.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by the processor to implement the method of any one of claims 1-10.
14. A computer program product, characterised in that, A computer program is included, and the computer program is executed by the processor to implement the method of any one of claims 1-10.
Citation Information
Patent Citations
Goods allocation and job scheduling integrated optimization method for double-load double-deep-position multilayer shuttle vehicle system
CN111210069A
Multi-depth goods allocation distribution method and device, computer equipment and storage medium
CN114881564A
Storage control method and device of intensive stereoscopic warehouse, electronic equipment and storage medium
CN115744029A
Robot scheduling method and device, equipment, storage medium and program product
CN120383108A
Warehouse sorting method and system, and device and storage medium
WO2022007642A1