How to order tasks

KR1020260139779APending Publication Date: 2026-09-22AUTOSTORE TECH AS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020267027512
Authority / Receiving Office
KR · KR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-22
Publication Date
2026-09-22

Smart Images

  • Figure PCT00013_ABST
    Figure PCT00013_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method for sequencing tasks for at least one robotic vehicle in an automated storage and retrieval system, the method comprising: receiving a plurality of task groups each comprising one or more tasks to be executed sequentially, wherein each task is to retrieve each container in an automated storage and retrieval system using at least one robotic vehicle, and each task has a task availability parameter indicating the availability of each container for at least one robotic vehicle, and at least one of the groups is a sequenced group having each explicit sequence indicator indicating the sequence in which the task(s) of the group are to be executed for any other sequenced group of tasks(s), and at least one of the groups is an unsequential group having a default sequence indicator indicating that the task(s) of the group may be executed in any order for the task(s) of the other group; determining, for each group, a group availability parameter indicating the task availability parameter(s) of each task(s) within the group; and forming a set of sequenced groups classified by classifying the sequenced groups by the explicit sequence indicator and, where a plurality of groups have the same explicit sequence indicator, by the group availability parameter. The method comprises the steps of: forming a set of unsequended groups from an unsequended group; and determining a set of ordered groups from a classified set of ordered groups and a set of unsequended groups by interlacing unsequended groups between the ordered groups according to a group availability parameter, wherein when the group availability parameter of an unsequended group indicates less availability than the group availability parameter of a given ordered group, the unsequended group is placed after a given ordered group.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to a method for sequencing tasks. More specifically, the present invention relates to a method for sequencing tasks for a robotic vehicle, and a system and a computer-readable medium for performing the method. Background Technology

[0002] Conventional storage solutions generally involve arranging goods on multiple rows of shelves within a warehouse. The shelf position for each item is recorded in the inventory, and goods are retrieved from the shelves by a stock picker. As goods enter and exit the warehouse, shelves are restocked and the inventory is updated as necessary.

[0003] Warehouse workers can be assisted by robotic pickers and automated inventory management systems. Automated transport systems can also be implemented in a standard warehouse setup to move goods from their inventory locations to picking and / or packing stations.

[0004] An alternative to conventional warehouse setups is an automated storage and retrieval system in which robots retrieve items from their logged locations within the warehouse and deliver them to packing stations or ports. Such systems can reduce or eliminate the need to navigate between multiple rows of shelves to access stockpiles, thereby eliminating the need for wide aisles within the warehouse. One example of such a system involves placing goods in bins or containers configured to be stacked side-by-side within a three-dimensional grid. A rail system is arranged at the top of the grid, and a robotic container handling vehicle configured to lift containers from the grid can move along it. The container handling vehicle is configured to transport containers from the grid and deliver them to ports or stations located around the grid so that the goods within the containers can be picked and packed.

[0005] The movement of the robotic container handling vehicle can be controlled centrally. A list of tasks may be provided, each task involving the movement of one or more containers within a grid. A task may be to move a container from one location within the grid to another, or to move a container from one location within the grid to a port on the edge of the grid.

[0006] One or more aspects of the present invention are presented in the claims. Brief explanation of the drawing

[0007] Now, the present disclosure will be described in more detail in connection with a number of exemplary embodiments illustrated in the accompanying drawings. FIG. 1 illustrates a perspective view of a storage system comprising a grid and a plurality of robotic container handling vehicles configured to retrieve and / or rearrange goods stored within the grid; FIG. 2 illustrates a plan view of the system of FIG. 1; FIG. 3a shows a side view of a first robotic container handling vehicle suitable for use in the system of FIG. 1; FIG. 3b shows a side view of a second robotic container handling vehicle suitable for use in the system of FIG. 1; FIG. 3c is a side perspective view of the robot of FIG. 3b; FIG. 4 illustrates a computing device for implementing the operation described herein; FIGS. 5a and 5b illustrate exemplary data classified according to one method; FIGS. 6a, 6b, 6c, and 6d illustrate exemplary data classified according to the method described herein; FIG. 7 illustrates a flowchart of the method described herein; FIG. 8 illustrates a flowchart of an alternative embodiment of the method described herein. Specific details for implementing the invention

[0008] Generally, the order in which containers are selected to go to a port is variable and does not depend solely on, for example, the sequence in which customer orders are received. Therefore, various modalities can be considered and compared to attempt to pick containers and container handling vehicles with the shortest handling time from order receipt to completion of picking. However, since there may be a large number of containers, container handling vehicles, items to be picked, and orders, planning which containers to pick and transport to the port is a complex issue.

[0009] One method of organizing tasks (or 'tasks') for container retrieval is to group tasks into lists based on an order value or item value. If an order value exists, the list is sorted according to the order value. If an order value exists, these sublists are classified based on the item value and the availability of corresponding containers or 'penalty values', so that tasks with the same item value are grouped together, but the entire subgroup is sorted such that the subgroup with the lowest average penalty value is placed first among other subgroups. Similarly, if an order value does not exist, the list is sorted based on the average penalty value for tasks with the same item value. This is iterative and may not result in the best order (i.e., prioritizing the most available tasks).

[0010] While there may be constraints on the order in which some tasks are executed by container handling vehicles, there may be other tasks that can be executed in any order. The inventors have realized that the overall efficiency of the storage and retrieval system can be improved by intermingling tasks that can be executed in any order with tasks that cannot be executed, while taking into account the availability of containers for each task.

[0011] Overview of the Automated Storage and Retrieval System

[0012] Referring to the embodiment illustrated in FIG. 1, the grid (100) comprises a frame formed by a plurality of adjacent, generally straight, vertical columns (102) that are formed between vertical frame members (104) and extend in the X and Y directions (108, 110). The grid elements may be manufactured from any suitable material; for example, the frame members may be formed from extruded aluminum. Bins (or 'storage containers' or 'containers') (112) are stacked on top of each other in the Z direction (114) of the columns (102), preferably in a self-supporting manner, to form a storage volume of storage cells for each bin (112) that extends in the X, Y, and Z directions (108, 110, 114).

[0013] A rail system or network (116) is formed on the top of a grid (100) and includes pairs of vehicle rails or tracks (118a, 118b and 120a, 120b) extending in the X and Y directions (108, 110), respectively. A robotic container handling vehicle (or 'robot', or 'robotic vehicle') (122), which may be a range of sizes, shapes, and functions, is provided and configured to operate on the rails (118, 120) and to transport bins (112) in both the X and Y directions (108, 110). The robot (122) is additionally configured to lift / lower bins (112) from / into the column (102) in the Z direction (114), and bins (112) are optionally guided by a vertical frame member (104). The robot (122) is on the column (102) and accesses the bin (112) through an access opening (124) formed between the rails (118, 120).

[0014] Some columns (102) may be used for purposes other than bin storage. For example, port columns (126, 128) include port or access columns that allow bins (112) to be transferred into and / or out of the grid (100). Port columns (126, 128) provide a vertical channel for lifting bins (112) from ports or ports (130, 132) or lowering bins (112) to ports or ports (130, 132). Although ports (130, 132) are shown at the lowest level of the grid in FIG. 1, ports may be located at any vertical position along the columns. Each port column (126, 128) may be assigned to remove ('unload') bins (112) from the grid (100) and / or return or transfer ('pick up') bins (112) to the grid (100). Accordingly, the ports (130, 132) are configured to allow the bin (112) to be removed and reintroduced (horizontally) into the associated port column. Accordingly, the ports (130, 132) may include a conveyor (not shown in FIG. 1), and the bin (112) may be lowered onto the conveyor and transported horizontally outside the port column. The port columns (126, 128) include an opening or access point that allows the bin (112) to enter and exit the column.

[0015] The bin (112) may be transported along the top of the grid (100) by a robot (122) to and / or from the port column (126, 128) and from the port (130, 132) to a location outside the grid (100) that may be an access station (not shown) for processing the bin (112) or its contents, such as a picking station (not shown) for adding contents to the bin (112) or removing contents from it. In an alternative example (not shown), the bin (112) may be transported to a port in another grid at the same or a different level, or to an external facility. The transport of the bin (112) to and from the port (130, 132) may be carried out by any suitable means (not shown), including a conveyor, a transport vehicle, a lift, or a robot.

[0016] Referring to the embodiment illustrated in FIG. 2, the XY configuration (200) of the rail system (116) with different types of robots (202, 204) can be seen in more detail. The rail system includes rails (206) that define vertical column access openings (124) between them for access to bins (112). The rails (206) may be any suitable type to allow movement of the robots (202, 204) in the X and Y directions (108, 110), including grooved rails for receiving vehicle wheels or protruding rails for engaging with wheel recesses (not shown). Each rail (206) may include a single track or multiple parallel tracks in the X and Y directions (108, 110), respectively.

[0017] A first, 'cantilever' type robot (202) is illustrated in more detail in FIG. 3a and includes a body (300), a wheel set (302), and a lifting device (304). The body (300) includes motion equipment (not illustrated) for the robot (202) including a drive, power, and control system. The wheel (302) allows the robot (202) to move in one of the X and Y directions, and an additional wheel set (not shown in this figure) allows movement in the other of the X and Y directions, both following a respective rail or track (206). One or both wheel sets may be raised or lowered to allow for selective engagement of the rail for movement in the desired direction. The lifting device (304) includes a cantilever element (306) extending in the XY plane from the top of the main body (300), and a gripping device (308) capable of rising and falling from the cantilever element (306). The gripping device (308) is configured to grip or engage the bin (112), for example, by gripping a portion of the bin (112), or by passively or actively engaging with a suitably configured portion of the bin (112).

[0018] A second, 'internal cavity' type robot (204) is illustrated in more detail in FIG. 3b and, as an alternative to a cantilevered lifting system, includes an internal cavity (310) within a main body (300), and a lifting device (312) including a gripping device (not illustrated) is positioned within the internal cavity. In this case, the main body (300) includes the robot's operating equipment and a storage space for one or more bins (112) to be used while transporting, for example, bins (112).

[0019] FIG. 3c illustrates a side perspective view of the robot of FIG. 3b, in which the first wheel set (302) of FIG. 3b can be seen. An additional wheel set, which was referenced above but is not shown in FIG. 3b, is shown in FIG. 3c as a wheel (303). The additional wheel set (303) is arranged perpendicular to the first wheel set (302) to allow the robot (204) to roll in the X and Y directions on the first and second wheel sets (302, 303), respectively. The first and second wheel sets (302, 303) shown in FIG. 3c may be configured to descend independently to engage with the rail (and, conversely, to ascend away from engagement with the rail) to allow the robot (202) to move in the X and Y directions across the arrangement of rails shown in FIG. 2. The perspective view shown in FIG. 3c is for the robot (204) of FIG. 3b, and it will be understood that a similar vertical wheel arrangement can be applied to the robot (202) of FIG. 3a.

[0020] Control and monitoring system

[0021] Control and monitoring of an automated storage and retrieval system, including monitoring and storage of bin locations, control of bin delivery, retrieval, and transport, and robot path setting and collision avoidance, is performed by a control system illustrated in FIG. 4 that communicates with robots and / or other controllable system components. Control may be performed locally or remotely and may be implemented, for example, by a processing system in the form of a computing device. Thus, the method described herein may form a computer-implemented method, or all or part of a system configured to perform the method described herein.

[0022] Now, with reference to FIG. 4, a processing system (400) suitable for performing the method described herein will be described. FIG. 4 illustrates a block diagram of one embodiment of a processing system (400) in the form of a computing device, wherein a set of instructions for enabling the computing device to perform any one or more of the methods described herein may be executed. In some embodiments, the computing device may be connected to other machines (e.g., networked) via a Local Area Network (LAN), an intranet, an extranet, or the Internet. The computing device may operate as a server or client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. A computing device may be a personal computer (PC), tablet computer, set-top box (STB), personal digital assistant (PDA), mobile phone, web appliance, server, network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specifies actions to be taken by said machine. Additionally, although only a single computing device is exemplified, the term “computing device” should also be construed to include any set of machines (e.g., computers) that execute a set of instructions (or a number of sets) individually or jointly to perform any one or more of the methods described herein.

[0023] An exemplary processing system (400) includes a processor (402) communicating with each other via a bus (430), a main memory (404) (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM), such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory (406) (e.g., flash memory, static random access memory (SRAM), etc.), and an auxiliary memory (e.g., a data storage device (418)).

[0024] The processor (402) represents one or more general-purpose processors, such as a microprocessor, a central processing unit, etc. More specifically, the processor (402) may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction (VLIW) microprocessor, a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. Additionally, the processor (402) may be one or more special-purpose processors, such as an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The processor (402) is configured to execute processing logic (instructions (422)) for performing the operations and steps described herein.

[0025] The processing system (400) may further include a network interface device (408). The processing system (400) may also include any of a video display unit (410) (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), a character-number input device (412) (e.g., a keyboard or a touchscreen), a cursor control device (414) (e.g., a mouse or a touchscreen), and an audio device (416) (e.g., a speaker).

[0026] It will be obvious that some features of the processing system (400) illustrated in FIG. 4 may be absent. For example, the processing system (400) may not require a display device (410) (or any associated adapter). This may be, for example, the case of a specific server-side computer device that is used solely for its processing capabilities and does not need to display information to a user. Similarly, a user input device (412) may not be required. In its simplest form, the processing system (400) includes a processor (402) and a main memory (404).

[0027] The data storage device (418) may include one or more machine-readable storage media (or more specifically one or more non-transient computer-readable storage media) (428) in which a set of one or more instructions (422) implementing any one or more methods or functions described herein is stored. The instructions (422) may also reside in the main memory (404) and / or in the processor (402) who also constitute the processing system (400), the main memory (404), and the computer-readable storage media (428), in whole or at least partially during their execution.

[0028] The various methods described herein may be implemented by a computer program. A computer program may include computer code arranged to instruct a computer to perform the function of one or more of the various methods described herein. A computer program and / or code for performing such methods may be provided to a device such as a computer through one or more computer-readable media, or more generally through a computer program product. A computer-readable medium may be a transient or non-transient medium. One or more computer-readable media may be, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, or may be a propagation medium for data transmission for downloading code over the Internet, for example. Alternatively, one or more computer-readable media may take the form of one or more physical computer-readable media, such as semiconductor or solid-state memory, magnetic tape, removable computer diskette, random access memory (RAM), read-only memory (ROM), rigid magnetic disk, or optical disks such as CD-ROM, CD-R / W, or DVD.

[0029] A computer program can be executed by a processor (402) to perform the functions of the system and method described herein.

[0030] In an embodiment, the modules, components, and other features described herein may be implemented as discrete components or integrated into the functions of hardware components such as ASICs, FPGAs, DSPs, or similar devices.

[0031] A 'hardware component' is a tangible (e.g., non-transient) physical component (e.g., a set of one or more processors) capable of performing a specific operation and may be configured or arranged in a specific physical manner. A hardware component may include dedicated circuits or logic permanently configured to perform a specific operation. A hardware component may be or include a special-purpose processor, such as a Field Programmable Gate Array (FPGA) or an ASIC. A hardware component may also include programmable logic or circuits that are temporarily configured by software to perform a specific operation.

[0032] Accordingly, the phrase 'hardware component' should be understood to include a tangible entity that may be physically configured, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a particular way or to perform the specific actions described herein.

[0033] Additionally, modules and components may be implemented as firmware or functional circuits within a hardware device. Furthermore, modules and components may be implemented as any combination of hardware devices and software components, or solely as software (e.g., code stored in a machine-readable medium or transmission medium, or embodied in other ways).

[0034] Operation of the automated storage and retrieval system

[0035] During operation, each bin (112) is given a unique identifier that can be marked on the bin (112) using a computer-readable identifier (e.g., a barcode, a rapid-response code, or a radio-frequency identification tag) to facilitate identification of the bin (112). The database of the processing system (400) stores the location of each bin (112) and optionally its contents in association with the unique identifier. When the bin (112) is moved (e.g., when the bin is retrieved from the grid (100)), the database is updated to record the change in location.

[0036] When it is desired to retrieve a bin (112) from a grid (100) under the control of a processing system (400), a robot (202, 204) is routed via a rail system (116) to a vertical column (102) containing a storage cell where the bin (112) is located, according to a database, and a lifting device (304, 312) is positioned over a corresponding access opening (124) adjacent to or below the robot (202, 204) (depending on the robot type). The robot (202, 204) lowers a gripping device (308) that engages with and grips the bin (112) and lifts it up to the robot (202, 204). Next, the robot (202, 204) transports the bin (112), for example to the unloading port column (126, 128), for delivery to the port (130, 132) and subsequent processing outside the grid (100). If the target or designated bin (112) is located below another bin in the stack, the robot (202, 204) or multiple robots, which may be dedicated to the task, are controlled by a 'digging' action to sequentially lift and reposition the bins on top of it, either temporarily or permanently, so that the target bin (112) can be retrieved. It will be understood that other actions on the bin (112) may be performed in a similar manner. For example, the bin (112) can be delivered to the ports (130, 132) of the pickup port columns (126, 128) for storage in the grid (100), picked up and lifted by the robot (202, 204), delivered to a desired storage cell, and the bin on the desired position is repositioned as needed as discussed above.

[0037] Explanation of specific improvements

[0038] There are specific constraints on the order of operations within the system stemming from the nature of the warehouse system. The first relates to the nature of customer orders, which may include more than one product. Consequently, when picking products or items from bins, more than one product may be packed into the package shipped to the customer. This implies that it is advantageous to provide bins containing the correct products to the port in succession so that all products can be picked and packed, and thus shipped within the same package. In the description below, the indicators for this product grouping are referred to as 'Item Number', 'Group Identifier', etc.

[0039] Another constraint is that, depending on the nature of the products within the grid, it may be important to pick products for some customer orders earlier than others. For example, if products in a bin are temperature-sensitive, it may be desirable to keep them within the grid longer to minimize the time they spend outside the temperature-controlled environment. Therefore, tasks regarding these products may be given a lower priority compared to tasks regarding other products. All other things being equal, products for customer orders received earlier may be picked earlier. Products for customer orders with higher priority (e.g., due to the customer's status and / or order) may also be picked earlier. In the description below, the indicators of these order constraints are referred to as 'order number', 'sequence indicator', etc.

[0040] These two constraints limit the freedom to order tasks in automated storage and retrieval systems. However, there may also be flexibility in ordering, especially in systems with a large number of tasks, containers, and / or robots. Within the constraints defined above, tasks can be ordered in a way that completes the task as quickly as possible while minimizing the amount of robot downtime (e.g., time spent waiting for a container to become available).

[0041] Another factor that can be considered when determining the order of operations (though it does not strictly control the order) is the availability of a given bin. In a system where bins can always be moved around, presented to ports, and stacked beneath other bins, the availability of bins in a port can be complex and variable over time. For example, all other things being equal, a bin that can only be accessed by moving another bin from its top is less available than a bin at the top of the stack. In the description below, this indicator of availability is referred to as the 'penalty value', 'availability parameter', etc.

[0042] Exemplary work set

[0043] FIG. 5a illustrates an exemplary set of tasks presented in the form of a table for illustrative purposes only. Each row of the table represents a task.

[0044] The 'Bin' column uniquely identifies each operation. For example, the operation may be to retrieve a bin (112) from a storage grid (100), and this column may indicate the unique identifier or location of the bin within the storage grid (100) to be retrieved. The first row indicates, for example, the operation to retrieve a bin having the unique identifier '123' from the storage grid (100). The 'Bin' column may be otherwise described herein as a bin, a bin identifier, or a bin location.

[0045] The 'Item' column indicates that a task forms part of a group and must be executed sequentially, that is, in order without any other task being executed between tasks. For example, each task group may correspond to a single customer order, and each task within that group may be to retrieve a respective bin (112) that holds an item forming part of that customer order. The 'Item' column may be referred to herein as a group identifier. The group identifier may be an explicit group identifier or a default group identifier. A set of tasks sharing an explicit group identifier forms part of a single group; in this example, the explicit group identifier is numbered as a non-zero integer from 1 to 6. Tasks having a default group identifier may be executed independently and do not need to be executed together with other tasks. In this example, the default group identifier is 0 (zero). The first row has a value of '1' in the 'Item' column and represents a task in the first group consisting of a single task. Rows 2 and 3 have a value of '2' in the 'Item' column, belong to Group 2, and represent tasks that must be executed consecutively (i.e., no tasks should be executed between the tasks represented by Rows 2 and 3). Row 4 has a value of '3' in the 'Item' column and represents tasks in Group 3 that also consist of a single task.

[0046] The 'Order' column indicates the sequence or order in which tasks must be executed relative to one another. The 'Order' column may be otherwise referred to herein as a sequence indicator. A sequence indicator may be an explicit sequence indicator or a default sequence indicator. An explicit sequence indicator indicates the sequence in which task(s) of a group of tasks, which form part of the task, must be executed relative to any other group of tasks(s) that have the explicit sequence indicator; in this example, the explicit sequence indicators are numbered as non-zero integers from 1 to 3. A default sequence indicator indicates that tasks may be executed relative to any other group of tasks(s); in this example, the default sequence indicator is 0. The first row has a value of '0' in the 'Order' column and is the only row in the first group, and thus indicates tasks that may be executed relative to any other group of tasks (e.g., the second and third groups) in any order. Rows 2 and 3 are rows of Group 2 with a value of '2' in the 'Sequence' column, and thus represent tasks that must be executed consecutively, after any task of any other group with a value of '1' in the 'Sequence' column and before any task of any other group with a value of '3' in the 'Sequence' column. Row 4 is the only row in Group 3 with a value of '0' in the 'Sequence' column, and thus represents tasks that can be executed in any order with respect to tasks of any other group (e.g., Groups 1 and 2). Tasks having an explicit sequence indicator may be referred to as 'sequenced tasks,' and tasks having a default sequence indicator may be referred to as 'unsequenced tasks.' A group of tasks having an explicit sequence indicator may similarly be referred to as the 'sequenced group,' and a group of tasks having a default sequence indicator may be referred to as the 'unsequenced group.'

[0047] The 'penalty value' column indicates the availability of the bin (112) referenced by the task; all other conditions being equal, the task to reclaim the more available bin (112) must be executed before the task to reclaim the less available bin (112). The 'penalty value' column may also be referred to herein as the 'task availability parameter'. In this example, a low penalty value indicates that the bin (112) is readily available to the robot (202, 204) to execute the task. A high penalty value may indicate that the bin (112) is not readily available to the robot (202, 204) to execute the task; this may be because another bin exists above the bin of the task, or because the bin is located relatively low within the storage grid (100), and accordingly, especially if digging is required, it will take longer for the robot (202, 204) to lift the bin out of the grid (100). A high penalty value may additionally or alternatively indicate that the bin (112) is in a port (i.e., not within the grid (100) at all), possibly being picked or otherwise handled. Thus, the penalty value for each task may be a function of the bin's position within the grid and may change over time. Because the penalty value may change over time, tasks with penalty values ​​indicating low availability may be best executed later, at a time when availability can be improved. For ease of explanation, in the illustrated example, the penalty value remains constant over time. The first row has a value of '0.5' in the 'Penalty Value' column, and the second row has a value of '0.7' in the 'Penalty Value' column, which indicates that the bin (112) of the task represented by the first row is more readily available than the bin (112) of the task represented by the second row.

[0048] FIG. 5b illustrates a set of tasks from FIG. 5a, also presented in table form. The tasks were ordered according to a first approach. Specifically, the tasks were classified by sequence number at the first level, by item number at the second level, and by penalty value at the third level (i.e., tasks were classified by sequence number, then by item number for tasks with the same sequence number, then by penalty value for tasks with the same item number). This results in a final order of tasks where tasks of a given group (indicated by shared item number) are kept together, groups with lower sequence numbers are placed before groups with higher sequence numbers, and, all other conditions being equal, tasks with lower penalty values ​​are placed before tasks with higher penalty values. This is a relatively simple method of classifying tasks, and the final order of tasks satisfies all requirements indicated by the values ​​in the 'Item', 'Sequence', and 'Penalty Value' columns as described above. However, this approach ensures that all tasks with zero sequence numbers are completed first in order of penalty value, whereas tasks with relatively high penalty values ​​(e.g., tasks with empty number '789') are scheduled before tasks with non-zero sequence numbers but relatively low penalty values ​​(e.g., tasks with empty number '459'). Therefore, this can cause unnecessary delays in reclaiming empty '459', because tasks with empty number '789' do not need to be completed before tasks with empty number '459'.

[0049] The task illustrated in FIG. 6a is identical to that illustrated in FIG. 5a, and FIG. 6a, FIG. 6b, FIG. 6c, and FIG. 6d each illustrate a classification stage according to a second approach, which is according to the present invention. In FIG. 6a, the thin lines separating each row depict tasks, and the thick lines depict groups of tasks. If the item number is not zero, tasks are grouped according to the item number. Tasks sharing an item number are assigned to the same group (e.g., tasks with bin numbers '425' and '268'). If the item number is zero, each task is assigned to its own group (e.g., tasks with bin numbers '710', '852', and '963'). For each group, the 'Average Penalty Value' column indicates the average penalty value of the tasks within the group. This provides an overall indicator of the availability of tasks within the group. The illustrated groups are indivisible, and the second approach subsequently classifies groups rather than individual tasks.

[0050] FIG. 6b illustrates the sequenced group of FIG. 6a separated from the unsequended group illustrated in FIG. 6c. In FIG. 6b, the sequenced group is classified by sequence number at the first level and by average penalty value at the second level (i.e., the sequenced group is classified by sequence number, and if multiple groups have the same sequence number, they are classified by average penalty value). The order of these operations relative to one another will be preserved in the next classification step, thus satisfying the constraint indicated by the 'Order' column. The sequenced group of FIG. 6b and the unsequended group of FIG. 6c are illustrated separately to help illustrate how the operations of these two types of groups are later combined.

[0051] Finally, as illustrated in FIG. 6d, the ordered group set is formed by combining the sequenced group of FIG. 6b and the unsequenced group of FIG. 6c. The order of the ordered group set is based on average penalty values. More specifically, the unsequenced group is interspersed with the sequenced group according to the average penalty value such that the unsequenced group is placed before the sequenced group having a higher average penalty value (indicating lower availability) and after the sequenced group having a lower average penalty value (indicating higher availability). This can be done by placing an unsequended group at the head / top of a set of ordered groups, then taking each of the ordered groups in turn starting from the lowest order number, and placing an unsequended group with a higher average penalty value after the ordered groups (or, equivalently, by placing an unsequended group at the rear / bottom of a set of ordered groups, then taking each of the ordered groups in turn starting from the highest order number, and placing the ordered groups before the unsequended group with a higher average penalty value).

[0052] An equivalent result can be obtained by placing an unsequential group at the head / top of a set of ordered groups, then taking each unsequential group in turn starting from the lowest sequence number, and placing the unsequential group after the sequenced group having the lower average penalty value (or, equivalently, by placing an unsequential group at the rear / bottom of a set of ordered groups, then taking each unsequential group in turn starting from the highest sequence number, and placing the unsequential group before the sequenced group having the higher average penalty value).

[0053] In this example, the sequenced group with sequence number '1' having an average penalty value of 0.3 (including tasks with empty numbers '459', '154', and '145') is first compared with the unsequenced group (having sequence number '0'), and the unsequenced group having an average penalty value higher than 0.3 (including tasks with empty numbers '123', '698', '254', and '789') is placed after the sequenced group with sequence number '1' (including tasks with empty numbers '459', '154', and '145'). The first sequenced group with sequence number '2' having an average penalty value of 0.7 (including tasks with empty number '710') is then compared with the remaining unsequenced groups having an average penalty value higher than 0.7, and no corresponding group exists. A second sequenced group with sequence number '2' having an average penalty value of 0.75 (including tasks with empty numbers '425' and '268') is then compared with the remaining unsequenced group having an average penalty value higher than 0.75, and no corresponding group exists. A sequenced group with sequence number '3' having an average penalty value of 0.3 (including tasks with empty number '963') is then compared with the remaining unsequenced group having an average penalty value higher than 0.3, and no corresponding group exists.

[0054] This second approach satisfies constraints associated with sequence numbers and item numbers, but it can better utilize penalty values ​​to defer unavailable tasks. You will understand that this method can be repeated after a subset of tasks has been executed, or after the penalty value has been updated if it changes over time.

[0055] Work Sequencing

[0056] FIG. 7 illustrates a method for sequencing tasks for at least one robot (202, 204) in an automated storage and retrieval system.

[0057] As a computer-implemented method, the method of FIG. 7 may be performed by any data processing system including a processing system (400) and / or a data processing system on a robot (202, 204). Accordingly, each step of the method may be performed by any such data processing system.

[0058] The method comprises, in step S100, receiving a plurality of task groups, each comprising one or more tasks to be executed sequentially. Each task is intended to retrieve each bin (112) from an automated storage and retrieval system using at least one robot (202, 204). Each task has a task availability parameter indicating the availability of each bin (112) for at least one robot (202, 204), as described in more detail below.

[0059] Each group has an explicit sequence indicator indicating the sequence in which the group's task(s) are to be executed for any other group's task(s) having an explicit sequence indicator, or a default sequence indicator indicating that the group's task(s) may be executed for any order for any other group's task(s). Here, it will be understood that a group may have a single task or multiple tasks, referred herein as a group having task(s).

[0060] In the present invention, a group having an explicit sequence indicator is a sequenced group, and a group having a default sequence indicator is an unsequential group. A plurality of working groups include at least one sequenced group and at least one unsequential group.

[0061] In step S110, a group availability parameter is determined representing the job availability parameter(s) for each job(s) within the group. This represents the overall availability of the bin(s) associated with the job(s). This group availability parameter can be determined in a number of ways. Thus, it may be a simple average of the job availability parameters for the jobs within the group. Depending on the implementation and characteristics of a particular system, it may be a median, a mode, or a root mean square (RMS) value.

[0062] In step S115, the classified set of sequenced groups is formed by classifying the sequenced groups by an explicit sequence indicator, and by a group availability parameter when multiple groups have the same explicit sequence indicator. That is, the sequenced groups are classified to a first level by the explicit sequence indicator and to a second level by the group availability parameter.

[0063] In step (S120), a set of unsequended groups is formed from unsequended groups. The step of forming the unsequended groups into a set of unsequended groups may optionally include a classification step comprising classifying the unsequended groups by a group availability parameter. This can make the step of combining sets of sequenced groups and unsequended groups (see below) simpler, as the most available groups from each set can be directly compared.

[0064] In step S130, an ordered group set is determined from a set of classified sequenced groups and a set of unsequenced groups based on group availability parameters. Specifically, the groups of the classified set of sequenced groups and the set of unsequenced groups are interspersed according to the group availability parameters so that when the group availability parameter of an unsequenced group indicates less availability than the group availability parameter of a given sequenced group, the unsequenced group is placed after a given sequenced group. Thus, if an unsequenced group has a group availability parameter indicating more availability than the group availability parameter of a given sequenced group, it may be placed before a sequenced group in the ordered group set.

[0065] Dispersion can be performed in an iterative manner. For example, for each sequenced group, the group availability parameter can be compared with the remaining unsequenced groups having the highest availability. As a result of this comparison, a sequenced group or an unsequenced group is placed next within the set of ordered groups. When a sequenced group is placed, the next comparison is made between the next sequenced group and the unsequenced group; when an unsequenced group is placed, the next comparison is made between the same sequenced group and the next unsequenced group. Subsequently, this process of comparison and placement is repeated until all groups are integrated into the set of ordered groups.

[0066] After step S130, an ordered set of groups was formed.

[0067] In step S145, the work may be executed by at least one robot (202, 204). The execution includes controlling at least one robot (202, 204) of an automated storage and retrieval system to execute the work sequentially according to an ordered set of groups. The control step may include a route planning step for calculating a path to be taken by the robot (202, 204) on the grid (100). However, this route planning step is not the subject of the present application. The control may include a data processing system (e.g., a processing system (400)) that transmits a command or a series of commands to the robot (202, 204) and / or a data processing system (e.g., a data processing system on the robot (202, 204)) that (directly) controls the drive system of the robot (202, 204).

[0068] Parameters, identifiers, and indicators

[0069] In some examples, at least one of the group identifier, task availability parameter, group availability parameter, explicit sequence indicator, or default sequence indicator is a numeric value. For implementation reasons, particularly for classification and comparison operations, it may be desirable to assign numeric values ​​that have a well-defined sequence. However, it will be understood that these indicators and parameters do not need to be numeric to have a well-defined order. They may be binary flags indicating, for example, whether 'available' or 'unavailable', alphanumeric values, depending on the implementation.

[0070] Specifically, at least one of the group identifier, task availability parameter, group availability parameter, explicit sequence indicator, or default sequence indicator may be an integer. This can make implementing the method computationally simpler and make it easier to store the value itself.

[0071] In some examples, the default sequence indicator may be less than any of the explicit sequence indicators. For example, any value for a sequence indicator less than a threshold indicates that no sequence is required (default sequence indicator). Conversely, the default sequence indicator may be more than any of the explicit sequence indicators. When the default sequence indicator and the explicit sequence indicator are represented by numerical ranges, these ranges must not overlap.

[0072] As in the example with reference to FIGS. 5a, 5b, 6a, 6b, and 6c, the default sequence indicator may be 0, and each explicit sequence indicator may be greater than 0 (e.g., at least 1). This means that the explicit sequence indicators are not 0 and can be easily classified. This can make the implementation of the method computationally simpler and more efficient.

[0073] In step S100, tasks may already be grouped, or in step S105, groups may be formed. Forming multiple groups may involve assigning at least one of a sequence indicator or a unique group identifier to each group. As in the example above, a unique group identifier may be assigned (item number) to indicate which tasks should be grouped together. All tasks within the same group may have the same explicit sequence indicator. All tasks placed in the same group may have a default sequence indicator. From a warehouse perspective, the group identifier may correspond to a customer order number for a product that must all be packed within the same shipping package.

[0074] Any step of the method of FIG. 7 may be repeated. For example, if the job availability parameter changes over time, the job may be reclassified according to the new value, and thus steps S110 through S145 may be repeated. Similarly, a new job may be received, and steps S100 through S145 may be repeated.

[0075] Availability parameters

[0076] In some examples, the job availability parameter for each task is determined based on the location of each bin. As described above, the job availability parameter is an indicator of how available each bin is for the task to be performed. Therefore, bins that are further from the required port or further from the robot may be assigned an availability parameter that reflects this. A higher numerical value of the job availability parameter may reflect a more available bin, or, as in the example above, a higher numerical value of the job availability parameter may reflect a less available bin.

[0077] In some examples, other information about the bin may be used additionally or alternatively to notify availability parameters. For example, a bin checked on a port may be unavailable for varying amounts of time depending on the action performed on the bin on the port.

[0078] The task availability parameter for each task can be determined additionally or alternatively based on the position of each bin relative to at least one of the robots. For example, in a system where bins are arranged in a vertical stack, the task availability parameter may be given a higher value the further down the stack each bin is located. Alternatively, even if each bin is at the top of the stack, it may still be at a given physical distance below the grid (100) on which the robot operates. Thus, it will take longer for the robot to lift it out of the grid, and consequently, availability will be higher (reflecting less available bins).

[0079] In some examples, the job availability parameter for each job is determined based on the amount of time the bin becomes available to at least one of the robots, either additionally or alternatively. For example, if the bin is currently on a port or is outside the grid for other reasons, the availability parameter may reflect the amount of time expected before the job can be completed.

[0080] The job availability parameter for each job can additionally or alternatively be determined based on the vertical position of each bin relative to the rail system (116) of the automated storage and retrieval system. As described above, in a system having a vertical stack of bins, the availability of a bin for a job can be determined by its position within the stack (102).

[0081] The work availability parameter of each task can additionally or alternatively be determined based on multiple bins (112) between each bin of the automated storage and retrieval system and the rail system (116). If multiple bins exist on top of each bin, more digging is required to retrieve the bins, and thus, the robot is less available to perform the task.

[0082] Therefore, in some examples, the robot operates on a rail system on a plurality of stacks (102) of bins (112).

[0083] As previously mentioned, the stack can be a vertical stack, but it can also be a horizontal stack that the robot must dig into to access the bin.

[0084] The group availability parameter determined in step S110 may be based on the average of the job availability parameters of each job(s) within the group. The group availability parameter represents all jobs within the group, and any appropriate fusion of job availability parameters may be used. Thus, the group availability parameter may be the average of the jobs within the group. Otherwise, it may be the median or mode of the job availability parameters. In some embodiments, the root mean square (RMS) average of the job availability parameters within the group may be used. In some embodiments, the group availability parameter may be the highest or lowest parameter among the job availability parameters of each job(s) within the group. Therefore, the exact method for calculating the group availability parameter may be determined depending on the system in which the present method is implemented.

[0085] Hardware and software implementation examples

[0086] The method described herein may be performed by a data processing system configured to perform any method. The data processing system may include any component of the processing system (400) illustrated in FIG. 4, such as one or more processors (402) configured to perform any method. The data processing system may be mounted on a robot (202, 204). The method(s) may be divided so that different steps are performed by different data processing systems. Any step of the method(s) may be performed, for example, in a cloud computing environment.

[0087] The method can be performed by a data processing system configured to execute instructions stored on a computer-readable medium that may be temporary or non-temporary.

[0088] The data processing system may eventually form part of an automated storage and retrieval system that may include any of the above robot(s), a bin for at least one of the operations, and / or a storage grid.

[0089] Alternative approaches to work sequencing

[0090] For example, modern solutions for determining which container to select for the port to ensure items in a customer order are picked consider and compare various modalities to attempt to select the container and container handling vehicle with the shortest handling time from order receipt to completion of picking. However, given the existence of numerous containers and container handling vehicles to handle the large number of items to be picked for many orders, there is room for continuous improvement in the method of systematizing which container is picked and transported to the port.

[0091] In some approaches, this problem is solved by grouping tasks into lists based on order values ​​or item values. If an order value exists, the list will be sorted according to the order value. If an order value exists, the sublists are sorted based on the item value and the penalty value for the task, so that tasks with the same item value are grouped together, but the entire subgroup is sorted such that the subgroup with the lowest average penalty value is placed first among the other subgroups. Similarly, if an order value does not exist, the list of tasks with the same item value is sorted based on the average penalty value.

[0092] Figure 8 illustrates a method for classifying tasks with item values ​​and / or order values ​​into task groups. Item values ​​and order values ​​impose restrictions on how containers should be presented to ports. The new method for classifying tasks into task groups presents tasks that provide complete flexibility for tasks having a value of 0 for either of these attributes. In this way, the system presents the most available tasks first.

[0093] The sorting method includes the step of generating an element list to represent a work queue, wherein tasks having the same non-zero value for the item value are placed in the same element. Additionally, the element list is sorted by order value.

[0094] Based on the average penalty value of the elements, classify a portion of the element list that includes all elements with a value of 0 for the order value and all elements with a non-zero minimum value for the order value.

[0095] For each current order value greater than the minimum value, classify a portion of the element list starting with the first element having a previously classified value of 0, after any element having a non-zero value for each order value.

[0096] A container handling vehicle is sent to pick up the most readily available container first.

[0097] This uses a two-step comparison function that first compares tasks based on their order value, and then compares them using a penalty value based on the degree to which a container is available. Instead, the iterative sorting process allows some tasks to be pushed further back in the resulting order. The ultimate goal is to present tasks for readily available containers first, while granting less available containers more time for preparation; therefore, it appears more important to select the most available tasks as early as possible rather than selecting the least available tasks last. This process allows for complete flexibility regarding tasks that have a value of 0 for either the item or order attribute.

[0098] An example of a penalty score assigned to a task used in this invention is the central computer system estimating the time it takes from the time an order to pick up a container is given until the container is delivered to the port. The higher the penalty score, the longer the time required. The penalty score is the time it takes from the time an order to pick up a container is given until the container is delivered to the port. Therefore, the container with the lowest penalty score is picked first.

[0099] Examples of the present disclosure are provided below.

[0100] A method for delivering a storage container to a port is provided in an automated storage and retrieval system comprising a framework structure forming a three-dimensional storage grid structure for storing a plurality of container handling vehicles and items, wherein the framework structure comprises a rail system, the rail system provides available routes for a container handling vehicle to handle the storage container to a storage column and to deliver it therefrom, and at least one container handling vehicle comprises a first set of wheels configured to move the container handling vehicle along a first horizontal direction of the grid-based rail system and a second set of wheels configured to move the container handling vehicle along a second horizontal direction of the grid-based rail system, wherein the second direction is perpendicular to the first direction, and the movement of the container handling vehicle is controlled by a central computer system comprising a list of tasks referred to as a task group, wherein each task has a container ID to be presented to the port, and each task has a first characteristic and a second characteristic, wherein the first and second characteristics are weighted and arranged into tasks, and the method performed by the central computer system comprises the following steps: generating a list of tasks representing a task group; and arranging tasks having the same non-zero weight value for the first characteristic in the same task. The method includes the step of classifying a list of tasks by a second characteristic; the step of classifying a portion of the list of tasks based on the penalty value of the tasks, including all tasks having a value of 0 for the second characteristic and all tasks having a non-zero minimum value for the second characteristic; and the step of classifying the upper half of the task subgroups into a list of tasks for each current order value greater than the minimum value, starting with a first task having a value of 0 that assigns a container handling vehicle to pick up the most readily available container first.

[0101] Optionally, the first characteristic is the item value.

[0102] Arbitrarily, items are classified in order following their relevance.

[0103] Arbitrarily, the second characteristic is an order value.

[0104] Arbitrarily, the order is classified after the availability of containers.

[0105] Arbitrarily, work is assigned to container handling vehicles based first on the container with the lower penalty value.

[0106] At any time, a container handling vehicle is assigned to the container having the lowest combined penalty score for both the item value and the order value.

[0107] Arbitrarily, the combined penalty score of the task depends on the availability of the container.

[0108] Arbitrarily, an iterative sorting process is used to allow some tasks to be pushed further back in the resulting order.

[0109] Additionally, a central computer system within an automated storage and retrieval system for sequencing tasks in a work group is provided, and the automated storage and retrieval system includes a framework structure forming a three-dimensional storage grid structure for storing a plurality of container handling vehicles and storage containers for storing items, the framework structure includes a rail system, the rail system provides available routes for container handling vehicles that handle storage containers to and from storage columns, and at least one container handling vehicle includes a first set of wheels configured to move the container handling vehicle along a first horizontal direction of the grid-based rail system and a second set of wheels configured to move the container handling vehicle along a second horizontal direction of the grid-based rail system, the second direction being perpendicular to the first direction, and the movement of the container handling vehicle is controlled by a central computer system including a list of tasks referred to as work groups, each task having a container number to be presented at a port, each task having a first characteristic and a second characteristic, the first and second characteristics being weighted and arranged as tasks, and the system, wherein the central computer system generates a list of tasks representing a work group, places tasks having the same non-zero weight value for the first characteristic in the same task, and tasks by the second characteristic It is characterized by being configured to classify a list, classify a portion of a task list including all tasks having a value of 0 for a second characteristic and all tasks having a non-zero minimum value for a second characteristic based on the penalty value of the task, classify a portion of a task list for each current sequence value greater than the minimum value starting with a first task having a value of 0, and assign a container handling vehicle to pick up the most readily available container first.

[0110] Optionally, the first characteristic is the item value, and the items are classified in order after their relevance.

[0111] Optionally, the second attribute is an order value, and the order is classified after the availability of the container.

[0112] At any time, container handling vehicles are first assigned to tasks on readily available containers.

[0113] At any time, container handling vehicles are assigned to work on containers with the lowest combined penalty score by the central computer system.

[0114] Arbitrarily, the penalty score of a task depends on the availability of containers.

[0115] Additionally, a computer program product is provided that is arranged to sort the order of tasks within a task group to perform the steps of generating a task list representing a task queue when executed on a processor of a central computer system of an automated storage and retrieval system, placing tasks having the same non-zero weight value for a first characteristic in the same task, classifying the task list by a second characteristic, classifying a portion of the task list including all tasks having a value of 0 for the second characteristic and all tasks having a non-zero minimum value for the second characteristic based on the penalty value of the task, and classifying a portion of the task list for each current order value greater than the minimum value, starting with a first task having a value of 0.

[0116] Other examples of the present disclosure are set forth in the following numbered provisions.

[0117] 1. A method for delivering a storage container to a port in an automated storage and retrieval system comprising a framework structure forming a three-dimensional storage grid structure for storing a plurality of container handling vehicles and items, wherein the framework structure comprises a rail system, the rail system provides available routes for a container handling vehicle to handle the storage container to a storage column and to deliver it therefrom, and at least one container handling vehicle comprises a first set of wheels configured to move the container handling vehicle along a first horizontal direction of the grid-based rail system and a second set of wheels configured to move the container handling vehicle along a second horizontal direction of the grid-based rail system, the second direction being perpendicular to the first direction, and the movement of the container handling vehicle is controlled by a central computer system comprising a list of tasks referred to as task groups, each task having a container ID to be presented to the port, each task having a first characteristic and a second characteristic, the first and second characteristics being weighted and arranged into tasks, and the method performed by the central computer system comprises the following steps:

[0118] · A step of generating a task list representing a task group;

[0119] · A step of assigning tasks having the same non-zero weight value for the first characteristic in the same task;

[0120] · A step of classifying the work list by the second characteristic;

[0121] · A step of classifying a portion of a task list including all tasks having a value of 0 for the second characteristic and all tasks having a minimum non-zero value for the second characteristic, based on the penalty value of the task; and

[0122] · A step of starting with a first task having a value of 0 and classifying the upper half of the task subgroup into a part of the task list for each current order value greater than the minimum value;

[0123] · The step of assigning container handling vehicles to pick up the most readily available containers first.

[0124] 2. In the method according to Clause 1, the first characteristic is the item value.

[0125] 3. In the method under Clause 2, items are classified in order following their relevance.

[0126] 4. In the method according to Clause 1 or Clause 2, the second characteristic is an order value.

[0127] 5. In the method according to Clause 4, the order is classified after the availability of the container.

[0128] 6. In the method according to any one of the aforementioned provisions, work is first assigned to a container handling vehicle based on the container having the lower penalty value.

[0129] 7. In the method according to Clause 6, the container handling vehicle is assigned to the container having the lowest combined penalty score of both the item value and the order value.

[0130] 8. In the method according to Clause 6 or Clause 7, the combined penalty score of the operation depends on the availability of the container.

[0131] 9. In the method according to Clause 1, an iterative sorting process is used to allow some tasks to be pushed further back in the resulting order.

[0132] 10. Additionally, it is a central computer system within an automated storage and retrieval system for sequencing tasks in a work group, and the automated storage and retrieval system includes a framework structure forming a three-dimensional storage grid structure for storing a plurality of container handling vehicles and storage containers for storing items, the framework structure includes a rail system, the rail system provides available routes for container handling vehicles that handle storage containers to and from storage columns, and at least one container handling vehicle includes a first wheel set configured to move the container handling vehicle along a first horizontal direction of the grid-based rail system and a second wheel set configured to move the container handling vehicle along a second horizontal direction of the grid-based rail system, the second direction is perpendicular to the first direction, and the movement of the container handling vehicle is controlled by a central computer system including a task list referred to as a work group, each task has a container number to be presented at a port, each task has a first characteristic and a second characteristic, the first and second characteristics are weighted and arranged as tasks, and the system, the central computer system generates a task list representing a work group, places tasks having the same non-zero weight value for the first characteristic in the same task, and the task by the second characteristic It is characterized by being configured to classify a list, classify a portion of a task list including all tasks having a value of 0 for a second characteristic and all tasks having a non-zero minimum value for a second characteristic based on the penalty value of the task, classify a portion of a task list for each current sequence value greater than the minimum value starting with a first task having a value of 0, and assign a container handling vehicle to pick up the most readily available container first.

[0133] 11. In the system according to Clause 7, the first characteristic is the item value, and the items are classified in order after their relevance.

[0134] 12. In a system according to Clause 7 or Clause 8, the second characteristic is an order value, and the order is classified after the availability of the container.

[0135] 13. In a system according to any one of clauses 7 through 9, a container handling vehicle is first assigned to work on readily available containers.

[0136] 14. In a system according to Clause 8 or Clause 9, container handling vehicles are assigned to work on containers having the lowest combined penalty score by the central computer system.

[0137] 15. In a system according to any one of Clauses 8 through 10, the penalty score of the operation depends on the availability of the container.

[0138] 16. It is a computer program product arranged to classify the sequence of tasks within a task group to perform the following steps when executed on the processor of the central computer system of an automated storage and retrieval system:

[0139] · A step of creating a job list representing a job queue,

[0140] · A step of assigning tasks having the same non-zero weight value for the first characteristic in the same task,

[0141] · Step of classifying the work list by the second characteristic,

[0142] · A step of classifying a portion of a task list including all tasks having a value of 0 for the second characteristic and all tasks having a non-zero minimum value for the second characteristic, based on the penalty value of the task;

[0143] · A step of starting with a first task having a value of 0 and classifying it as part of a list of tasks for each current sequence value greater than the minimum value,

[0144] · The step of assigning container handling vehicles to pick up the most readily available containers first.

[0145] Comment right before the final

[0146] The example described herein refers to a vertically stacked system in which bins (112) are arranged in a vertical stack and lifted from the top of each stack. However, it will be understood that the present method may be applied in a system in which bins (112) are arranged in a horizontal stack and digging is performed by moving the bins (112) horizontally out of the path to access the bins (112) stored behind.

[0147] Unless otherwise indicated, the steps of the method(s) described herein do not need to be performed in the order presented above and may be performed in any order. For example, steps S105 and S110 may be performed before step S100 (i.e., the operation is formed into groups and group availability parameters are assigned, and then transmitted to a device performing step S100). As another example, step S120 may be performed at any point after step S105 (i.e., after the groups are formed, a set of unsequential groups may be formed). As yet another example, step S115 may be performed after step S120 (i.e., a classified set of sequential groups may be formed after a set of unsequential groups).

[0148] Similarly, unless otherwise indicated, the steps of the method(s) described herein may be omitted, combined, or performed in parallel. For example, the ordered set of groups may undergo additional processing before the operation is executed in step S145. As another example, the formation of the sequenced set of groups and the formation of the unsequended set of groups may be performed in parallel. As yet another example, the operation received in step S100 may already be formed into groups, and thus step S105 may be omitted. As yet another example, the method may output an ordered set of groups to be transferred to another system for execution, and thus step S145 may be omitted.

[0149] Other examples of the present disclosure are presented below.

[0150] A method for sequencing operations for at least one robotic vehicle in an automated storage and retrieval system is provided.

[0151] Optionally, the method includes the step of receiving a plurality of task groups, each comprising one or more tasks to be executed sequentially.

[0152] Optionally, each task involves retrieving each container from an automated storage and retrieval system using at least one robotic vehicle.

[0153] Optionally, each task has a task availability parameter representing the availability of each container for at least one of the robotic vehicles.

[0154] Optionally, at least one of the groups is a sequenced group having each explicit sequence indicator representing the sequence in which the task(s) of the group are to be executed for any other sequenced group's task(s), and at least one of the groups is an unsequended group having a default sequence indicator representing that the task(s) of the group can be executed in any order for the task(s) of the other group.

[0155] Optionally, the method further includes the step of determining, for each group, a group availability parameter representing the task availability parameter(s) of each task(s) within the group.

[0156] Optionally, the method further comprises the steps of forming a set of classified sequenced groups by classifying the sequenced groups by an explicit sequence indicator and, where multiple groups have the same explicit sequence indicator, by a group availability parameter, and forming a set of unsequential groups from the unsequential groups.

[0157] Optionally, the method further comprises the step of determining a set of ordered groups from a classified set of ordered groups and a set of unordered groups by interlacing unordered groups among the ordered groups according to a group availability parameter, wherein when the group availability parameter of the unordered groups indicates less availability than the group availability parameter of a given ordered group, the unordered groups are placed after a given ordered group.

[0158] Optionally, the method further comprises the step of determining a set of ordered groups from a classified set of ordered groups and a set of unordered groups by interlacing unordered groups among the ordered groups according to a group availability parameter, wherein when the group availability parameter of the unordered groups indicates more availability than the group availability parameter of a given ordered group, the unordered groups are placed before a given ordered group.

[0159] Optionally, the method further includes the step of determining, for each given sequenced group within the classified sequenced group set, a sequenced group set from the classified sequenced group set and the unsequended group set by the following step:

[0160] A step of comparing a group availability parameter of a given sequenced group with a group availability parameter of at least one of a set of unsequenced groups; and

[0161] A step of placing at least one set of unsequenced groups having a group availability parameter that indicates less availability than the group availability parameter of the given sequenced group after a given sequenced group within a set of ordered groups.

[0162] Optionally, the method further includes the step of determining, for each given sequenced group within the classified sequenced group set, a sequenced group set from the classified sequenced group set and the unsequended group set by the following step:

[0163] A step of comparing a group availability parameter of a given sequenced group with a group availability parameter of at least one of a set of unsequenced groups; and

[0164] A step of placing at least one set of unsequenced groups having a group availability parameter that indicates more availability than the group availability parameter of the given sequenced group before a given sequenced group within a set of ordered groups.

[0165] Optionally, the method further includes the step of determining, for each given sequenced group within the classified sequenced group set, a sequenced group set from the classified sequenced group set and the unsequended group set by the following step:

[0166] A step of comparing a group availability parameter of a given sequenced group with a group availability parameter of at least one of a set of unsequenced groups; and

[0167] A step of placing at least one set of unsequenced groups, each having a group availability parameter indicating more and less availability than the group availability parameter of the given sequenced group, before and after a given sequenced group within a set of ordered groups.

[0168] It further includes the step of controlling at least one vehicle of an automated storage and retrieval system to execute operations sequentially according to an ordered set of groups, arbitrarily.

[0169] Optionally, the placement step further includes a step of classifying groups that are not sequenced by group availability parameters.

[0170] Optionally, at least one of the job availability parameter, group availability parameter, at least one explicit sequence indicator, or default sequence indicator is a numeric value.

[0171] Optionally, at least one of the job availability parameter, group availability parameter, at least one explicit sequence indicator, or default sequence indicator is an integer.

[0172] Arbitrarily:

[0173] The default sequence indicator is less than any of at least one explicit sequence indicator; or

[0174] The default sequence indicator is more than any of at least one explicit sequence indicator.

[0175] Optionally, the default sequence indicator is 0, and at least one explicit sequence indicator is greater than 0.

[0176] Optionally, prior to the receiving step, the method further includes the step of receiving the task(s) of each group, the step of forming a plurality of groups, and the step of assigning at least one of a sequence indicator or a unique group identifier to each group.

[0177] Arbitrarily, the job availability parameter of each task is determined based on the location of each container.

[0178] Arbitrarily, the position of each container for at least one of the robotic vehicles.

[0179] Optionally, the work availability parameter of each task is determined based on the amount of time each container becomes available to at least one robotic vehicle.

[0180] Optionally, the job availability parameter of each job is determined based on at least one of the following:

[0181] The vertical position of each container relative to the rail system of the automated storage and retrieval system; and

[0182] Multiple containers between the rail system of the automated storage and retrieval system and each container.

[0183] Optionally, the robotic vehicle operates on a rail system on a stack of multiple containers.

[0184] Arbitrarily, the group availability parameter is determined based on the average of the job availability parameters of each job(s) within the group.

[0185] A data processing system configured to perform any method described herein is provided.

[0186] A computer-readable medium is provided that includes instructions that cause the data processing system to perform any method described herein when executed by a data processing system.

[0187] An automated storage and retrieval system comprising at least one of a data processing system or at least one robotic vehicle is provided, and the system is configured to perform any method described herein.

[0188] It should be understood that the foregoing description is intended to be illustrative rather than restrictive. Many other embodiments will be apparent to those skilled in the art upon reading and understanding the foregoing description. Although the present disclosure has been described with reference to specific exemplary embodiments, it will be recognized that the present disclosure is not limited to the described embodiments and may be modified and altered within the spirit and scope of the appended claims. Accordingly, the specification and drawings should be regarded as illustrative rather than restrictive. Accordingly, the scope of the present disclosure should be determined by reference to the appended claims, together with the full scope of equivalents given to such claims.

Claims

Claim 1 A method for sequencing operations for at least one robotic vehicle in an automated storage and retrieval system, comprising the step of receiving a plurality of work groups, each comprising one or more operations to be executed sequentially, Each task is to retrieve each container from an automated storage and retrieval system using at least one robotic vehicle, and each task has a task availability parameter indicating the availability of each container for at least one robotic vehicle, and A step in which at least one of the groups is a sequenced group having each explicit sequence indicator representing the sequence in which the task(s) of the group are to be executed for any other sequenced group's task(s), and at least one of the groups is an unsequential group having a default sequence indicator representing that the task(s) of the group can be executed in any order for the task(s) of the other group; a step in which, for each group, a group availability parameter is determined representing the task availability parameter(s) of each task(s) within the group; a step in which a set of sequenced groups is formed by classifying the sequenced groups by the explicit sequence indicator and, where multiple groups have the same explicit sequence indicator, by the group availability parameter; a step in which a set of unsequential groups is formed from the unsequential groups. A method comprising the step of determining a set of ordered groups by interlacing unsequential groups among the ordered groups according to a group availability parameter from a set of classified ordered groups and a set of unsequential groups, wherein when the group availability parameter of the unsequential group indicates less availability than the group availability parameter of a given ordered group, the unsequential group is placed after a given ordered group. Claim 2 A method according to claim 1, further comprising the step of controlling at least one vehicle of an automated storage and retrieval system to sequentially execute operations according to an ordered group set. Claim 3 A method according to claim 1 or 2, wherein the step of forming a set of unsequential groups further comprises the step of classifying unsequential groups by a group availability parameter. Claim 4 A method according to any one of claims 1 to 3, wherein at least one of the work availability parameter, group availability parameter, explicit sequence indicator, or default sequence indicator is a numeric value. Claim 5 A method according to paragraph 4, wherein at least one of the task availability parameter, group availability parameter, explicit sequence indicator, or default sequence indicator is an integer. Claim 6 In any one of claims 1 to 5, the default sequence indicator is less than any of at least one explicit sequence indicator; or the default sequence indicator is more than any of at least one explicit sequence indicator. Claim 7 In paragraph 6, the default sequence indicator is 0, and at least one explicit sequence indicator is greater than 0. Claim 8 A method according to any one of claims 1 to 7, further comprising, prior to the receiving step, the step of receiving each of the work(s) of each group, the step of forming a plurality of groups, and the step of assigning at least one of a sequence indicator or a unique group identifier to each of the groups. Claim 9 A method according to any one of claims 1 to 8, wherein the work availability parameter of each operation is determined based on the location of each container and optionally the location of each container relative to at least one robotic vehicle. Claim 10 A method according to any one of claims 1 to 9, wherein the work availability parameter of each operation is determined based on the amount of time each container becomes available to at least one robotic vehicle. Claim 11 A method according to any one of claims 1 to 10, wherein the operation availability parameter of each operation is determined based on: the vertical position of each container relative to the rail system of the automated storage and retrieval system; and at least one of a plurality of containers between the rail system of the automated storage and retrieval system and each container. Claim 12 A method according to any one of claims 1 to 11, wherein the robotic vehicle operates on a rail system on a plurality of container stacks. Claim 13 A method according to any one of claims 1 to 12, wherein the group availability parameter is determined based on the average of the job availability parameters of each job(s) within the group. Claim 14 A data processing system configured to perform the method described in any one of claims 1 through 13, or a computer-readable medium comprising instructions that cause the data processing system to perform the method described in any one of claims 1 through 13 when executed by the data processing system. Claim 15 An automated storage and retrieval system comprising at least one of a data processing system or at least one robotic vehicle, wherein the automated storage and retrieval system is configured to perform the method described in any one of claims 1 to 13.