Method, system and computer program product for determining a route of a container processing vehicle
By creating a track system model in the automatic storage and withdrawal system and using a graph traversal algorithm, the accuracy and efficiency of container processing vehicle route planning in the prior art are solved, and fast and accurate route planning and system optimization are achieved.
Patent Information
- Application Number
- CN202380044228.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-03-30
- Filing Date
- 2023-03-27
- Publication Date
- 2025-01-14
AI Technical Summary
Existing automatic storage and withdrawal systems have accuracy and efficiency problems when determining the route of the container to handle the vehicle. Especially in large grids, the traditional Manhattan distance estimation method is inaccurate, and the A* route selection algorithm takes a long time. , it is difficult to provide fast and accurate route planning in all cases.
By creating a model of the track system, representing a finite group of non-overlapping rectangular areas of grid locations, determining the overlapping information, and using graph traversal and path search algorithms (such as the A* algorithm) to determine the route of the container processing vehicle, optimize the route planning, Identify intersections to improve vehicle usage efficiency and create a minimum spanning tree to handle segmentation if necessary.
It realizes rapid and accurate determination of container handling routes in most cases, is suitable for CPU/GPU parallelization, optimizes the location of container processing vehicles, can identify and process segmentation of track systems, and improves system efficiency and accuracy .
Smart Images

Figure CN119317811A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an automated storage and retrieval system for storing and retrieving containers, and more particularly to a method, system and computer program product for determining a route for a container handling vehicle running on a track system of an automated storage and retrieval system. Background Art
[0002] FIG. 1 discloses a prior art automated storage and retrieval system 10 having a frame structure 100 , and FIGS. 2 , 3 and 4 disclose three different prior art container handling vehicles 201 , 301 , 401 suitable for operating on such a system 10 .
[0003] The frame structure 100 comprises upright members 102 and a storage volume comprising storage columns 105 arranged in rows between the upright members 102. In these storage columns 105, storage containers 106 (also called boxes) are stacked one on top of the other to form stacks 107. The members 102 may typically be made of metal, such as extruded aluminum profiles.
[0004] The frame structure 100 of the automated storage and retrieval system 10 includes a rail system 108 arranged across the top of the frame structure 100, and a plurality of container handling vehicles 201, 301, 401 can travel on the rail system 108 to lift and lower storage containers 106 from and into the storage rows 105, and also to transport storage containers 106 over the storage rows 105. The rail system 108 includes: a first set of parallel rails 110 arranged to guide the movement of the container handling vehicles 201, 301, 401 across the top of the frame structure 100 in a first direction X; and a second set of parallel rails 111 arranged perpendicular to the first set of rails 110 to guide the movement of the container handling vehicles 201, 301, 401 in a second direction Y perpendicular to the first direction X. The containers 106 stored in the rows 105 are accessed by the container handling vehicles 201, 301, 401 through access openings 112 in the rail system 108. The container handling vehicles 201 , 301 , 401 can be moved laterally above the storage row 105 , ie in a plane parallel to the horizontal XY plane.
[0005] The upright members 102 of the frame structure 100 may be used to guide the storage containers during the raising and lowering of the containers from the row 105 and into the row. The stack 107 of containers 106 is typically self-supporting.
[0006] Each prior art container handling vehicle 201, 301, 401 comprises a vehicle body 201a, 301a, 401a and a first set of wheels and a second set of wheels 201b, 201c, 301b, 301c, 401b, 401c, which wheels enable the container handling vehicle 201, 301, 401 to move laterally in the X direction and in the Y direction, respectively. In Figures 2, 3 and 4, the two wheels in each set are fully visible. The first set of wheels 201b, 301b, 401b is arranged to engage with two adjacent tracks of the first set of tracks 110, and the second set of wheels 201c, 301c, 401c is arranged to engage with two adjacent tracks of the second set of tracks 111. At least one set of wheels 201b, 201c, 301b, 301c, 401b, 401c can be raised and lowered so that the first set of wheels 201b, 301b, 401b and / or the second set of wheels 201c, 301c, 401c can engage with the corresponding set of rails 110, 111 at any time.
[0007] Each prior art container handling vehicle 201, 301, 401 further comprises a lifting device for vertically transporting storage containers 106, for example lifting storage containers 106 from and lowering storage containers 106 into the storage row 105. The lifting device comprises one or more gripping / engaging devices adapted to engage storage containers 106, and these gripping / engaging devices can be lowered from the vehicle 201, 301, 401 such that the position of the gripping / engaging devices relative to the vehicle 201, 301, 401 can be adjusted in a third direction Z orthogonal to the first direction X and the second direction Y. Some parts of the gripping devices of the container handling vehicle 301, 401 are shown in FIGS. 3 and 4, indicated by reference numerals 304, 404. The gripping devices of the container handling device 201 are located within the vehicle body 201a in FIG. 2 and are therefore not shown.
[0008] Conventionally, and also for the purposes of the present application, Z=1 designates the uppermost layer of storage containers below the rails 110, 111, i.e., the layer directly below the rail system 108, Z=2 designates the second layer below the rail system 108, Z=3 designates the third layer, etc. In the exemplary prior art disclosed in FIG. 1, Z=8 designates the lowermost bottom layer of storage containers. Similarly, X=1...n and Y=1...n designate the position of each storage column 105 in the horizontal plane. Thus, as an example, and using the Cartesian coordinate system X, Y, Z indicated in FIG. 1, the storage container designated 106' in FIG. 1 may be referred to as occupying storage position X=17, Y=1, Z=6. The container handling vehicles 201, 301, 401 may be referred to as traveling in layer Z=0, and each storage column 105 may be identified by its X-coordinate and Y-coordinate. Thus, the storage containers shown in FIG. 1 extending above the rail system 108 may also be referred to as being arranged in layer Z=0.
[0009] The storage volume of the frame structure 100 is generally referred to as a grid 104, wherein the possible storage positions within the grid are referred to as storage cells. Each storage column can be identified by a position in the X-direction and the Y-direction, and each storage cell can be identified by a container number in the X-direction, the Y-direction, and the Z-direction.
[0010] Each prior art container handling vehicle 201, 301, 401 includes a storage compartment or space for receiving and loading storage containers 106 when transporting the storage containers 106 across the track system 108. The storage space may include a cavity disposed internally within the vehicle body 201a, 401a, as shown in Figures 2 and 4, and as described in, for example, WO2015 / 193278A1 and WO2019 / 206487A1, the contents of which are incorporated herein by reference.
[0011] Figure 3 shows an alternative configuration of a container handling vehicle 301 having a cantilever structure. Such a vehicle is described in detail in, for example, No. 317366, the contents of which are also incorporated herein by reference.
[0012] The chamber container handling vehicle 201 shown in Figure 2 may have a footprint covering a block in the X-direction and the Y-direction, the size of which is generally equal to the lateral extent of the storage row 105, such as described in WO2015 / 193278A1, the contents of which are incorporated herein by reference. The term "lateral" as used herein may refer to "horizontally".
[0013] Alternatively, the coverage area of the chamber container handling vehicle 401 can be larger than the lateral block defined by the storage row 105, as shown in Figures 1 and 4, for example as disclosed in WO2014 / 090684A1 or WO2019 / 206487A1.
[0014] Track system 108 generally includes a track with a groove, and the wheels of the vehicle travel in the groove. Alternatively, the track may include an element extending upward, wherein the wheels of the vehicle include flanges to prevent derailment. These grooves and the elements extending upward are collectively referred to as guide rails. Each track may include a guide rail, or each track 110, 111 may include two parallel guide rails. In other track systems 108, each track in one direction (e.g., X direction) may include a guide rail, and each track in other vertical directions (e.g., Y direction) may include two guide rails. Each track 110, 111 may also include two guide rail members fastened together, each guide rail member providing one of a pair of guide rails provided by each track.
[0015] WO 2018 / 146304 A1 (the contents of which are incorporated herein by reference) shows a typical construction of a track system 108 comprising tracks and parallel guides in both the X-direction and the Y-direction.
[0016] In the frame structure 100, most of the columns 105 are storage columns 105, i.e., columns 105 in which storage containers 106 are stored in the form of stacks 107. However, some columns 105 may have other purposes. In FIG. 1 , columns 119 and 120 are such dedicated columns for unloading and / or picking up storage containers 106 by using container handling vehicles 201, 301, 401 so that they can be transported to access stations (not shown), where storage containers 106 can be accessed from the outside of the frame structure 100, or moved out of or into the frame structure 100. In the art, such locations are generally referred to as "ports," and the columns in which the ports are located may be referred to as "port columns" 119, 120. Transport to the access stations may be in any direction, i.e., horizontal, inclined, and / or vertical. For example, storage containers 106 may be placed in random or dedicated rows 105 within the frame structure 100, then picked up by any container handling vehicle and transported to port rows 119, 120 for further transport to a storage and retrieval station. Transport from the port to the storage and retrieval station may require movement along a plurality of different directions by, for example, a delivery vehicle, a trolley or other transport line. Note that the term "inclined" refers to the transport of storage containers 106 with a general transport orientation in a direction between horizontal and vertical.
[0017] In Figure 1, the first port column 119 can be, for example, a dedicated unloading port column, where the container handling vehicles 201, 301, 401 can unload the transported storage containers 106 to the access station or transfer station, and the second port column 120 can be a dedicated pick-up port column, where the container handling vehicles 201, 301, 401 can pick up the storage containers 106 that have been transported from the access station or transfer station.
[0018] The access station may typically be a pick-up station or staging station where product items are removed from or positioned in the storage container 106. In the pick-up station or staging station, the storage container 106 is typically not removed from the automated storage and retrieval system 10, but rather returned to the frame structure 100 after access. The port may also be used to transfer the storage container to another storage facility (e.g., to another frame structure or to another automated storage and retrieval system), to a transport vehicle (e.g., a train or truck), or to a production facility.
[0019] A conveyor system including conveyors is typically employed to transport storage containers between the port rows 119, 120 and the access station.
[0020] If the port rows 119, 120 and the access station are located at different heights, the conveyor system may include a lifting device with a vertical component for vertically transporting the storage containers 106 between the port rows 119, 120 and the access station.
[0021] The conveyor system may be arranged to transfer storage containers 106 between different frame structures, for example as described in WO 2014 / 075937 A1, the contents of which are incorporated herein by reference.
[0022] When a storage container 106 stored in one of the rows 105 disclosed in FIG1 is to be accessed, one container handling vehicle 201, 301, 401 is instructed to take out the target storage container 106 from its position and transport the storage container to the unloading port row 119. This operation involves moving the container handling vehicle 201, 301, 401 to a position above the storage row 105 where the target storage container 106 is located, taking out the storage container 106 from the storage row 105 using a lifting device (not shown) of the container handling vehicle 201, 301, 401, and transporting the storage container 106 to the unloading port row 119. If the target storage container 106 is located deep within the stack 107, that is, one or more other storage containers 106 are positioned above the target storage container 106, the operation also involves temporarily moving the storage container positioned above before lifting the target storage container 106 from the storage row 105. This step, sometimes referred to in the art as "digging," can be performed using the same container handling vehicle that is subsequently used to transport the target storage container to the unloading port row 119, or using one or more other cooperating container handling vehicles. Alternatively or in addition, the automated storage and retrieval system 1 can have container handling vehicles 201, 301, 401 that are dedicated to the task of temporarily removing storage containers 106 from storage rows 105. Once the target storage container 106 has been removed from the storage row 105, the temporarily removed storage container 106 can be relocated to the original storage row 105. Alternatively, however, the removed storage container 106 can be relocated to other storage rows 105.
[0023] When a storage container 106 is to be stored in one row 105, one container handling vehicle 201, 301, 401 is instructed to pick up a storage container 106 from the pick-up port row 120 and transport the storage container to a position above the storage row 105 in which it is to be stored. After any storage container 106 positioned at or above a target position within the stack 107 has been removed, the container handling vehicle 201, 301, 401 positions the storage container 106 at a desired position. The removed storage container 106 can then be lowered back into the storage row 105 or repositioned to another storage row 105.
[0024] In order to monitor and control the automated storage and retrieval system 10, such as monitoring and controlling the position of each storage container 106 within the frame structure 100, the contents of each storage container 106, and the movement of the container handling vehicles 201, 301, 401, so that the desired storage container 106 can be delivered to the desired location at the desired time without the container handling vehicles 201, 301, 401 colliding with each other, the automated storage and retrieval system 10 includes a control system 121, which is typically computerized and usually includes a database for keeping track of the storage containers 106.
[0025] When estimating the cost of solving an assignment problem, it is important to have a good estimate of the optimal order to assign the tasks. A naive way of doing this is to use the Manhattan distance / time as an estimate. One disadvantage of using Manhattan distance is that it does not take into account the geometry of the grid, so the estimate can be very inaccurate in some cases, such as crossing gaps or crossing columns in the grid. Performing the full A* routing algorithm for all container handling vehicles for all the tasks to be performed is usually too time consuming for real-time computer processing, especially for large grids.
[0026]
[0006] Therefore, there is a need in the art for a method of determining a route for a container handling vehicle that is very fast in most situations, while being accurate in all situations. Summary of the invention
[0027] The invention is set forth and characterized in the independent claim, while the dependent claims describe further characteristics of the invention.
[0028] In one aspect, the present invention relates to a method of determining a route for a container handling vehicle operating on a track system of a grid-based automated storage and retrieval system, the grid-based automated storage and retrieval system comprising a frame structure, the frame structure comprising a track system, the track system comprising a first set of parallel tracks in a first direction and a second set of parallel tracks arranged in a second direction perpendicular to the first direction, the track system defining a plurality of grid positions, each grid position being identifiable by a first coordinate in the first direction and a second coordinate in the second direction, the method comprising using a control system in communication with a vehicle controller in the container handling vehicle to:
[0029] Create a model of the rail system, which includes the following steps:
[0030] representing the track system as a finite set of non-overlapping rectangular first regions of grid locations and a finite set of non-overlapping rectangular second regions of grid locations, each first region extending along latitude in a first direction and each second region extending along longitude in a second direction, wherein the regions are located around grid locations that are not accessible to container handling vehicles,
[0031] determining overlap information, wherein the overlap information indicates one or more areas of the track system in which there is an overlap between areas in the limited set of first areas and areas in the limited set of second areas,
[0032] determining the grid location area information by determining, for each grid location, in which area of the limited set of first areas and / or the limited set of second areas the grid location is located,
[0033] receiving a request for a route for at least one container handling vehicle from a first grid location to a second grid location, and
[0034] A model of the track system is used to determine a route for at least one container handling vehicle from a first grid location to a second grid location.
[0035] An advantage of the first aspect of the invention is that it provides a method of determining a container handling route very quickly in most circumstances, whilst being accurate in all circumstances.
[0036] This approach is also well suited for CPU / GPU parallelization because once the model is created, all information in the model is constant.
[0037] One advantageous use of the method is to optimize the location of available container handling vehicles on the rail system. By using the overlap information, cells belonging to both regions can be easily identified. These cells represent intersections in the rail system. Indicating that available container handling vehicles are waiting at those intersections provides a better use of container handling vehicles, as standing at intersections results in more Manhattan routes.
[0038] Another advantageous use is to use this method to find segments of a track system. If there are parts of the track system that are inaccessible to other parts of the track system, these parts can be found from the overlapping information by setting them up as an undirected graph and creating a minimum spanning tree on the graph. If there is more than one minimum spanning tree, then there are segments in the grid, which can then be easily extracted.
[0039] In one embodiment, the method may include using the grid location area information to determine that the route is a straight line between the first grid location and the second grid location when the first grid location and the second grid location are in the same area and share the same first coordinate or the same second coordinate.
[0040] In one embodiment, the method may include: using the grid location area information, when the first grid location and the second grid location are in the same area and share neither the same first coordinate nor the same second coordinate, determining that the route is a single-turn Manhattan route between the first grid location and the second grid location.
[0041] In one embodiment, the method may include: using the grid location area information and the overlap information, determining that the route is a single-turn Manhattan route between the first grid location and the second grid location when the first grid location and the second grid location are in different and overlapping areas.
[0042] In one embodiment, the method may include: using the set of first regions, the set of second regions and the overlapping information to generate a region graph including nodes and edges, wherein the nodes represent the limited set of first regions and the limited set of second regions, and the edges represent the overlapping information.
[0043] In one embodiment, the method may include: using the grid location area information and the overlap information to determine that the first grid location and the second grid location are not in the same area and are not in an overlapping area, and using a graph traversal and path search algorithm on the area graph to determine a route between the first grid location and the second grid location. In one embodiment, the graph traversal and path search algorithm may be an A* algorithm.
[0044] In one embodiment, representing the track system as the set of first regions and the set of second regions may include:
[0045] defining grid locations that are not accessible to container handling vehicles as blocked cells and defining grid cells that are accessible to container handling vehicles as open cells,
[0046] determining a first set of non-overlapping rectangular blocks of grid locations, each first block extending along latitude in a first direction and defining a largest possible rectangle of consecutive open cells not interrupted by at least one blocked cell,
[0047] determining a second set of non-overlapping rectangular blocks of grid locations, each second block extending along longitude in a second direction and defining a largest possible rectangle of consecutive open cells not interrupted by at least one blocked cell,
[0048] determining the limited set of first regions by removing any blocks in the first set of blocks that fall completely within blocks in the second set of blocks; and
[0049] The finite set of second regions is determined by removing any blocks in the second set of blocks that fall completely within blocks in the first set of blocks.
[0050] In one embodiment, the step of determining a first group of blocks may include determining a continuous segment of open cells extending in a first direction without being interrupted by closed cells, the starting position of each continuous segment being a first coordinate, and the length of each continuous segment being limited by the number of open cells without being interrupted by closed cells, wherein the maximum possible rectangle of the continuous segment extending along latitude in the first direction without being interrupted by closed cells includes multiple adjacent continuous segments with the same first coordinate of the starting position and the same length, or a single vertical continuous segment, and the step of determining a second group of blocks includes determining a continuous segment of open cells extending in a second direction without being interrupted by closed cells, the starting position of each continuous segment being a second coordinate, and the length of each continuous segment being limited by the number of open cells without being interrupted by closed cells, wherein the maximum possible rectangle of the continuous open cells extending along longitude in the second direction without being interrupted by closed cells includes multiple adjacent continuous segments with the same second coordinate of the starting position and the same length, or a single horizontal continuous segment.
[0051] In one embodiment, defining grid locations inaccessible to container handling vehicles may include determining one or more grid locations having at least one physical dimension that is smaller than at least one physical dimension of a container handling vehicle and identifying the one or more grid locations as inaccessible to container handling vehicles.
[0052] In one embodiment, the method may include:
[0053] receiving a request for a route for a plurality of container handling vehicles from a plurality of first grid locations to a second grid location; - determining, using a model of the track system, a fastest route for each of the plurality of container handling vehicles from the plurality of first grid locations to the second grid location,
[0054] determining a best container handling vehicle among the plurality of container handling vehicles for moving to the second grid location based on the fastest route for each of the plurality of container handling vehicles, and
[0055] The optimal container handling vehicle is instructed to move to a second grid location.
[0056] In a second aspect, the invention relates to a system for determining a route for a container handling vehicle operating on a track system of a grid-based automated storage and retrieval system, the grid-based automated storage and retrieval system comprising: a frame structure, the frame structure comprising a track system, the track system comprising a first set of parallel tracks in a first direction and a second set of parallel tracks arranged in a second direction perpendicular to the first direction, the track system defining a plurality of grid positions, each grid position being identifiable by a first coordinate in the first direction and a second coordinate in the second direction,
[0057] A control system adapted to communicate with a vehicle controller in a container handling vehicle, wherein the control system is adapted to create a model of the track system, the creating the model of the track system comprising the steps of:
[0058] representing the track system as a finite set of non-overlapping rectangular first regions of grid locations and a finite set of non-overlapping rectangular second regions of grid locations, each first region extending along latitude in a first direction and each second region extending along longitude in a second direction, wherein the regions are located around grid locations that are not accessible to container handling vehicles,
[0059] determining overlap information, wherein the overlap information indicates one or more areas of the track system in which there is an overlap between areas in the limited set of first areas and areas in the limited set of second areas,
[0060] determining the grid location area information by determining, for each grid location, in which area of the limited set of first areas and / or the limited set of second areas the grid location is located,
[0061] receiving a request for a route for at least one container handling vehicle from a first grid location to a second grid location, and
[0062] A model of the track system is used to determine a route for at least a container handling vehicle from a first grid location to a second grid location.
[0063] In one embodiment, when the first grid location and the second grid location are in the same area and share the same first coordinate or the same second coordinate, the system may be adapted to use the grid location area information to determine that the route is a straight line between the first grid location and the second grid location.
[0064] In one embodiment, when the first grid location and the second grid location are in the same area and share neither the same first coordinate nor the same second coordinate, the system may be adapted to use the grid location area information to determine that the route is a single-turn Manhattan route between the first grid location and the second grid location.
[0065] In one embodiment, when the first grid location and the second grid location are in different and overlapping regions, the system may be adapted to use the grid location region information and the overlap information to determine that the route is a single-turn Manhattan route between the first grid location and the second grid location.
[0066] In one embodiment, the system may be adapted to generate a region graph including nodes and edges using the set of first regions, the set of second regions, and the overlap information, wherein the nodes represent the finite set of first regions and the finite set of second regions, and the edges represent the overlap information.
[0067] In one embodiment, the system may be adapted to use the grid location area information and the overlap information to determine that the first grid location and the second grid location are not in the same area and are not in an overlapping area, and to use a graph traversal and path search algorithm on the area graph to determine a route between the first grid location and the second grid location. In one embodiment, the graph traversal and path search algorithm may be an A* algorithm.
[0068] In one embodiment, representing the track system as the set of first regions and the set of second regions may include:
[0069] Define grid locations that are inaccessible to container handling vehicles as blocked cells, and define grid cells that are accessible to container handling vehicles as open cells,
[0070] determining a first set of non-overlapping rectangular blocks of grid locations, each first block extending along latitude in a first direction and defining a largest possible rectangle of consecutive open cells not interrupted by at least one blocked cell,
[0071] determining a second set of non-overlapping rectangular blocks of grid locations, each second block extending along longitude in a second direction and defining a largest possible rectangle of consecutive open cells not interrupted by at least one blocked cell,
[0072] The finite set of first regions is determined by removing any blocks in the first set of blocks that fall completely within blocks in the second set of blocks, and
[0073] The finite set of second regions is determined by removing any blocks in the second set of blocks that fall completely within blocks in the first set of blocks.
[0074] In one embodiment, the step of determining a first group of blocks may include determining a continuous segment of open cells extending in a first direction without being interrupted by closed cells, the starting position of each continuous segment being a first coordinate, and the length of each continuous segment being limited by the number of open cells without being interrupted by closed cells, wherein the maximum possible rectangle of the continuous segment extending along latitude in the first direction without being interrupted by closed cells includes multiple adjacent continuous segments with the same first coordinate of the starting position and the same length, or a single vertical continuous segment, and the step of determining a second group of blocks includes determining a continuous segment of open cells extending in a second direction without being interrupted by closed cells, the starting position of each continuous segment being a second coordinate, and the length of each continuous segment being limited by the number of open cells without being interrupted by closed cells, wherein the maximum possible rectangle of the continuous open cells extending along longitude in the second direction without being interrupted by closed cells includes multiple adjacent continuous segments with the same second coordinate of the starting position and the same length, or a single horizontal continuous segment.
[0075] In one embodiment, defining grid locations inaccessible to container handling vehicles may include determining one or more grid locations having at least one physical dimension that is smaller than at least one physical dimension of a container handling vehicle and identifying the one or more grid locations as inaccessible to container handling vehicles.
[0076] In one embodiment, the system may be adapted to
[0077] receiving a request for a plurality of containers to process routes of vehicles from a plurality of first grid locations to a second grid location,
[0078] using a model of the rail system to determine a fastest route for each of a plurality of container handling vehicles from a plurality of first grid locations to a second grid location,
[0079] determining a best container handling vehicle among the plurality of container handling vehicles for moving to the second grid location based on the fastest route for each of the plurality of container handling vehicles, and
[0080] The optimal container handling vehicle is instructed to move to a second grid location.
[0081] In a third aspect, the invention relates to a computer program product for a control system in a system according to the second aspect, wherein the computer program product comprises instructions which, when executed on the control system, perform the method according to the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0082] The following figures are attached to assist in understanding the present invention. These figures illustrate embodiments of the present invention which will now be described by way of example only, wherein:
[0083] FIG. 1 is a perspective view of a frame structure of an automatic storage and retrieval system of the prior art.
[0084] 2 is a perspective view of a prior art container handling vehicle having an internally disposed cavity for carrying storage containers therein.
[0085] 3 is a perspective view of a prior art container handling vehicle having a cantilever for carrying storage containers underneath.
[0086] 4 is a perspective view from below of a prior art container handling vehicle having an internally arranged cavity for carrying storage containers therein.
[0087] Figure 5 is a schematic top view of an exemplary track system.
[0088] Fig. 6A and Figure 6Bis a schematic diagram of a method according to an embodiment of the present invention.
[0089] Fig. 7A and Figure 7B is a schematic diagram of a method according to an embodiment of the present invention.
[0090] Fig. 8A and Figure 8B is a schematic diagram of a method according to an embodiment of the present invention.
[0091] Fig. 9A and Fig. 9B is a schematic diagram of a method according to an embodiment of the present invention.
[0092] Fig.10 is a schematic diagram of a method according to an embodiment of the present invention.
[0093] Fig.11 is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0094] Fig.12 is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0095] Fig.13 is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0096] Fig.14 is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0097] Fig.15 is a flow chart of a method according to an embodiment of the present invention.
[0098] Fig.16 is a schematic diagram of a zone map according to an embodiment of the present invention.
[0099] Fig.17 is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0100] Fig.18 is a schematic diagram of the shortest route according to an embodiment of the present invention. DETAILED DESCRIPTION
[0101] In the following, embodiments of the present invention will be discussed in more detail with reference to the accompanying drawings. It should be understood, however, that the drawings are not intended to limit the present invention to the subject matter depicted in the drawings.
[0102] The frame structure 100 of the automated storage and retrieval system 10 is constructed in a similar manner to the prior art frame structure 100 described above in conjunction with Figures 1 to 3. That is, the frame structure 100 includes a plurality of upright members 102 and includes a first upper track system 108 extending in the X direction and the Y direction.
[0103] The frame structure 100 further comprises storage compartments in the form of storage rows 105 arranged between the components 102 , wherein storage containers 106 can be stacked in the form of stacks 107 in the storage rows 105 .
[0104] The frame structure 100 can have any size. In particular, it should be understood that the frame structure can be significantly wider and / or longer and / or deeper than the frame structure disclosed in Figure 1. For example, the horizontal extent of the frame structure 100 can be greater than 700×700 columns and its storage depth can be greater than 12 containers.
[0105] Now refer to Figures 5 to 18 One embodiment of the automated storage and retrieval system according to the present invention is discussed in more detail.
[0106] Figure 5 is a schematic top view of an exemplary track system 500. The track system 500 includes a first set of parallel tracks in a first direction and a second set of parallel tracks arranged in a second direction Y perpendicular to the first direction X. The track system 500 defines a plurality of grid positions (Xi, Yj), each of which can be identified by a first coordinate Xi in the first direction X and a second coordinate Yj in the second direction Y. Figure 5 An exemplary grid position (Xi, Yj) is shown, where Xi = 4 and Yj = 2. For simplicity, the grid positions (Xi, Yj) shown are square, however, in a typical implementation of the track system 108 such as FIG. 1, the grid positions (Xi, Yj) or cells are rectangular. For rectangular cells, the time to travel on the cell is different in the x-direction and the y-direction.
[0107] A grid location (Xi, Yj) that is permanently inaccessible to a container handling vehicle 201, 301, 401 is referred to as a permanently blocked cell 501. A permanently blocked cell 501 is a grid location that is physically inaccessible to a container handling vehicle due to the physical layout of the warehouse (such as walls, columns, low ceilings, or other physical reasons for lack of cells). In addition to permanently blocked cells, there may also be grid locations (Xi, Yj) that have at least one physical dimension that is smaller than at least one physical dimension of a container handling vehicle 201, 301, 401 operating on the rail system 500, making the grid location physically inaccessible to the container handling vehicle 201, 301, 401. In FIGS. 6 to 6, a grid location (Xi, Yj) is shown in FIG. 6. Fig.14 , Fig.17 and Fig.18 One such grid position 601 is shown in FIG.
[0108] Fig.15 Shows the determination Figure 5Flowchart of a method 1500 for routing container handling vehicles 201, 301, 401 operating on a rail system 500 is shown. The method includes creating 1501 a model of the rail system 500 using a control system that communicates with a vehicle controller in the container handling vehicle 201, 301, 401, receiving 1505 a request for a route for at least one container handling vehicle 201, 301, 401 from a first grid location to a second grid location, and determining 1506 a route for at least one container handling vehicle 201, 301, 401 from the first grid location to the second grid location using the model of the rail system 500.
[0109] Additional references Fig. 9A and Fig. 9B , creating 1501 a model of the track system 500 includes the following steps: representing 1502 the track system 500 as a finite set of non-overlapping rectangular first regions A, B, C, D, E, F, G, H, I, J, K, L of grid locations and a finite set of non-overlapping rectangular second regions 1, 2, 3, 4, 5, 6, 7, 8, 9 of grid locations, each first region extending along latitude in a first direction X and each second region extending along longitude in a second direction Y, wherein the regions are positioned around grid locations 501, 601 that are inaccessible to container handling vehicles 201, 301.
[0110] Then in a subsequent step, overlap information is determined 1503, wherein the overlap information indicates one or more blocks of the track system in which there is an overlap between areas of the limited set of first areas A, B, C, D, E, F, G, H, I, J, K, L and areas of the limited set of second areas 1, 2, 3, 4, 5, 6, 7, 8, 9. For example, using the data from Fig. 9A and Fig. 9B It is clear that region 1 overlaps with regions A, C, D, E, and F, region 2 overlaps with region L, region 3 overlaps with regions A, C, D, E, F, I, and L, etc. This information can be stored in an array and cannot be modified once created.
[0111] Then in a subsequent step, grid position area information is determined 1504 by determining for each grid position (Xi, Yj) in which area of the limited set of first areas A, B, C, D, E, F, G, H, I, J, K, L and / or the limited set of second areas 1, 2, 3, 4, 5, 6, 7, 8, 9 the grid position (Xi, Yj) is located. The grid position information may be stored in a matrix or similar structure and is not modified once created. Fig.10 Shows the regions to which all grid positions belong. A grid position belongs to at least one region and at most two regions. This allows for sparse data storage and fast lookups by grid position.
[0112] refer to Figures 11 to 14 and Fig.17 The steps of receiving and determining a route for a container handling vehicle 201, 301, 401 from a first grid location to a second grid location using a model of the track system 500 are described.
[0113] Reference now Fig.15 In one embodiment, the step of representing the rail system 500 as the set of first areas A, B, C, D, E, F, G, H, I, J, K, L and the set of second areas 1, 2, 3, 4, 5, 6, 7, 8, 9 includes the step of defining 1507 grid locations (Xi, Yj) that are inaccessible to container handling vehicles 201, 301, 401 as blocked cells 501, 601, and defining grid cells that are accessible to container handling vehicles 201, 301, 401 as open cells 502. The blocked cells 501, 601 may be permanent blocked cells 501, or may be grid locations 601 that have at least one physical dimension that is smaller than at least one physical dimension of a container handling vehicle 201, 301, 401 operating on the rail system 500, such that the container handling vehicle 201, 301, 401 cannot pass through in at least one direction.
[0114] Then in Fig. 7A and Figure 7B In the subsequent steps shown, a first set of non-overlapping rectangular blocks 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715 of grid positions are determined 1508, each first block extending along latitude in a first direction X and defining a maximum possible rectangle of consecutive open cells not interrupted by at least one blocked cell 501, 601, and a second set of non-overlapping rectangular blocks 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727 of grid positions are determined 1509, each second block extending along longitude in a second direction Y and defining a maximum possible rectangle of consecutive open cells not interrupted by at least one blocked cell 501, 601. The term consecutive open cells refers to open cells that are maximally side-by-side in a given direction.
[0115] Then in the subsequent step 1510, as Fig. 8A and Figure 8BAs shown, the limited set of first areas A, B, C, D, E, F, G, H, I, J, K, L are determined by removing any blocks 708, 710, 711 in the first set of blocks that completely fall within the blocks of the second set of blocks 717, 723, 726, and the limited set of second areas 1, 2, 3, 4, 5, 6, 7, 8, 9 are determined by removing any blocks 718, 724, 727 in the second set of blocks that completely fall within the blocks of the first set of blocks 707, 709, 715.
[0116] A tile that falls completely within another tile is redundant. Removing these redundant tiles is important for several reasons, such as making any A* routing search efficient, and moving from one area to another implies turning.
[0117] Reference now Fig.15 In one embodiment, the step of determining 1508 a first set of blocks includes: Figure 6B As shown, a continuous segment of open cells 502 extending in the first direction X and not interrupted by blocked cells 501, 601 is determined, the starting position of each continuous segment is the first coordinate Xi, and the length of each continuous segment is defined by the number of open cells 502 not interrupted by blocked cells 501, 601, and as shown in FIG. Figure 7B As shown, the maximum possible rectangle of continuous open cells 502 that are not interrupted by blocked cells 501, 601 in the first direction X includes multiple adjacent continuous segments with the same first coordinate Xi of the starting position and the same length, or a single vertical continuous segment. Similarly, the step of determining 1509 the second group of blocks includes, Fig. 6A As shown, a continuous segment of open cells 502 extending in the second direction Y and not interrupted by blocked cells 501, 601 is determined, the starting position of each continuous segment is the second coordinate Yj, and the length of each continuous segment is defined by the number of open cells 502 not interrupted by blocked cells 501, 601, and as shown in Fig. 7A As shown, the maximum possible rectangle of continuous open cells 502 extending along longitude in the second direction Y without being interrupted by blocked cells 501, 601 includes multiple adjacent continuous segments with the same starting position and the same length of the second coordinate Yi, or a single horizontal continuous segment.
[0118] In one embodiment, the method includes using the set of first areas, the set of second areas and overlapping information to generate 1511 an area graph including nodes and edges, wherein the nodes represent the limited set of first areas A, B, C, D, E, F, G, H, I, J, K, L and the limited set of second areas 1, 2, 3, 4, 5, 6, 7, 8, 9 and the edges represent overlapping information. Fig.16 yes Fig. 9A and Fig. 9B 16 is an exemplary schematic diagram of a region map 1600 of regions and edges of the track system 500 above the dashed line α1-α2 shown in FIG. The circles represent regions A, C, D, E, F, I, L, 1, 2, 3, 4, 5, and the interconnecting lines represent edges. The stippled edges extending from regions D and F show the edges corresponding to Fig. 9A and Fig. 9B Overlap of the area below the middle dashed line α1-α2.
[0119] The request 1505 for a route for a container handling vehicle 201, 301, 401 from a first grid location to a second grid location includes the first grid location, i.e., the starting location of the container handling vehicle 201, 301, 401, and the second grid location, i.e., the ending location of the container handling vehicle 201, 301, 401. The request may also include information about the container handling vehicle 201, 301, 401, such as the robot type, the current direction of movement, and the orientation of the container handling vehicle 201, 301, 401 on the track system 500, and information about the track system 500, such as the cell size used to calculate the movement time. The request for the route is for the best route from the first grid location to the second grid location, such as the fastest route. Alternatively, instead of requesting a route, a minimum cost is requested. This request is the same as a route, but instead of returning a route, the cost / duration of the optimal route is returned.
[0120] When determining the fastest route, the method of the present invention explicitly handles three main cases: a straight line route, a Manhattan route, and a route passing through more than two areas.
[0121] When the first grid position and the second grid position are in the same area and share the same first coordinate (Xi) or the same second coordinate (Yj), the grid position area information can be used to determine that the fastest route is a straight line between the first grid position and the second grid position. This ensures that there is no blockade between the start position and the end position. If only the first grid position and the second grid position sharing the same first coordinate (Xi) or the same second coordinate (Yj) are considered, it cannot be guaranteed that the container handling vehicle can follow the route, for example, if Fig. 9B As shown, if from area L to area K. Fig.11 A straight line route between points A and B within the same area 7 is shown.
[0122] When the first grid location and the second grid location are in the same region and neither share the same first coordinate (Xi) nor the same second coordinate (Yj), using the grid location region information, it can be determined that the fastest route is a single-turn Manhattan route between the first grid location and the second grid location. For Manhattan routes within a single region, there are two equally optimal routes to choose from. Fig.12Two possibilities for a non-mobile container handling vehicle to go from A to B within zone C are shown.
[0123] If, in any of the single-area route scenarios described above, the container handling vehicle is moving and is currently traveling through or away from a second grid location, two additional turns are required to reach the second grid location unless the current travel is through the target location, which requires the container handling vehicle to stop and drive directly back.
[0124] When the first grid location and the second grid location are in different and overlapping regions, the grid location region information and the overlapping information may be used to determine that the fastest route is a single-turn Manhattan route between the first grid location and the second grid location, such as Fig.13 In this case, it is first verified that the first grid position and the second grid position are not in the same region.
[0125] In the third case, the grid position area information and the overlap information are used to determine that the first grid position and the second grid position are not in the same area and are not in an overlapping area. That is, the route passes through more than two blocks. In this case, a graph traversal and path search algorithm on the area map is used to determine 1600 the fastest route between the first grid position and the second grid position. Any suitable graph traversal and path search algorithm known to those skilled in the art can be used. The preferred graph traversal and path search algorithm is the A* algorithm. Fig.14 As shown, a turn is generated when moving to the first available cell in the next area, so that a long route segment is generated at the end of the route. This allows the optimal route to be easily determined. This is due to the acceleration / deceleration of the container handling vehicle. Long route segments provide less acceleration / deceleration, which is more optimal. Specifically, the determination takes into account the overlapping areas, calculating the time to enter the first available cell in the first overlapping area from the first grid position. Starting from the first available cell in the first overlapping area, this step is repeated for the first available cell in the second overlapping area, and so on, to determine the route. The last part of the route indicated by the dotted line is processed separately because the container handling vehicle needs to enter the direction of the final area. Therefore, in this case, the second to last segment extends one cell before turning to match the second grid position in the correct way.
[0126] The fastest route from the first grid location to the second grid location is determined as if the container handling vehicle were alone on the rail system 500. That is, other container handling vehicles and other temporary blockages, such as overhead boxes, on the rail system are not taken into account. The control system 121 communicates with the multiple container handling vehicles 201, 301, 401 and is aware of the current locations, paths, and other temporary blockages of these container handling vehicles. Thus, the control system 121 may discover that the determined fastest route is unreachable because other container handling vehicles are parked on the route or because of other temporary blockages, and may modify some portions of the optimal route to take this into account. Fig.17 As shown, the first route segment is set to go into the next region 7, i.e. not turning at the first available cell. Therefore, there are four possibilities, because the height of the next region 7 is 4, which means that the segment has 4 slack times, giving 4 permutations of the route from the first grid position to the second grid position. While the first slack time choice, i.e. turning at the first available cell, is the best choice, the other routes are not far behind. Fig.18 As shown, the second route segment has 3 slack times because the width of the next region E is 3, thereby providing three additional route arrangements on top of the existing four route arrangements from the first segment. Thus, the route from the first grid position to the second grid position has 12 arrangements that can be quickly iterated by the control system 121 to determine the best of these arrangements given the other container handling vehicles and temporary blockades on the rail system 500.
[0127] The determination of the fastest route between grid locations can be performed for multiple container handling vehicles, for example, to determine which of the multiple container handling vehicles is the best container handling vehicle to perform a task, or to determine which of the multiple tasks to perform first. In one example, a task such as picking up a storage container is to be completed at a second grid location. In one embodiment of the method, a request for a route of multiple container handling vehicles 201, 301, 401 from multiple first grid locations to a second grid location can be received. Then, a model of the track system 500 can be used to determine the fastest route for each of the multiple container handling vehicles 201, 301, 401 from the multiple first grid locations to the second grid location. Based on the fastest route for each of the multiple container handling vehicles 201, 301, 401, the optimal container handling vehicle for moving to the second grid location can be determined for the multiple container handling vehicles 201, 301, 401, and the optimal container handling vehicle is instructed to move to the second grid location to perform the task.
[0128] The model of the track system created by the claimed method has other advantageous uses.
[0129] One advantageous use is to optimize the location of available container handling vehicles on the rail system 500. By using the overlap information, cells belonging to both regions can be easily identified. These cells represent intersections in the rail system 500. Indicating that available container handling vehicles are waiting at those intersections provides better use of the container handling vehicles, as standing at the intersections creates more Manhattan routes.
[0130] Another advantageous use is to use the model to find sections of the track system 500. If there are parts of the track system 500 that are inaccessible to other parts of the track system 500, these parts can be found from the overlapping information by setting them up as an undirected graph and creating a minimum spanning tree on the graph. If there is more than one minimum spanning tree, then there are segments in the grid, which can then be easily extracted.
[0131] Another advantageous use is to use the model as a filter for target cells, which are potential storage cells for returning storage containers 106 to the frame structure 100 when accessed by a container handling vehicle 201 , 301 , 401 .
[0132] In the foregoing description, various aspects of the present invention have been described with reference to a method 1500 performed by a control system 121. The present invention also includes a system for determining a route of a container handling vehicle 201, 301, 401 operating on a track system 108, 500 of a grid-based automated storage and retrieval system 10, the grid-based automated storage and retrieval system 10 comprising a frame structure 100, the frame structure comprising a track system, the track system 108, 500 comprising a first set of parallel tracks 110 in a first direction X and a second set of parallel tracks 111 arranged in a second direction Y perpendicular to the first direction X, the track system 108, 500 defining a plurality of grid positions (Xi, Yj), each grid position being identifiable by a first coordinate Xi in the first direction X and a second coordinate Yj in the second direction Y. The system comprises a control system 121 adapted to communicate with a vehicle controller in the container handling vehicle 201, 301, 401. The control system 121 is adapted to perform the method 1500 described in detail above.
[0133] The present invention also includes a computer program product for a control system 121 in a grid-based automated storage and retrieval system 10 , wherein the computer program product includes instructions that, when executed on the control system 121 , perform the method 1500 .
[0134] In the foregoing description, various aspects of the distribution vehicle and the automatic storage and retrieval system according to the present invention have been described with reference to illustrative embodiments. For the purpose of illustration, specific quantities, systems and configurations are described in order to fully understand the system and its working principle. Although the present invention has been described for rectangular cells, the method can be extended to any cell shape, such as triangles, rectangles, hexagons, octagons, etc. Manhattan routes are also named Manhattan routes for other cell shapes. In this case, depending on the cell shape, more than two areas can overlap (for example, three for a hexagonal shape). The method is also applicable to other types of robots other than the container handling vehicle disclosed herein. Therefore, the description is not intended to be interpreted in a restrictive sense. Various modifications and variations of the illustrative embodiments that are obvious to a technician in the field to which the disclosed subject matter belongs and other embodiments of the system are considered to fall within the scope of the present invention.
[0135] Reference numerals list
[0136] Prior art (Figures 1 to 4):
[0137]
[0138]
[0139] Figures 5 to 18
[0140]
[0141]
Claims
1. A method (1500) for determining a route for a container handling vehicle (201, 301, 401) operating on a track system (108) of a grid-based automated storage and retrieval system (10) comprising a frame structure (100), the frame structure comprising the track system, the track system (108, 500) comprising a first set of parallel tracks (110) in a first direction (X) and a second set of parallel tracks (111) arranged in a second direction (Y) perpendicular to the first direction (X), the track system (108, 500) defining a plurality of grid positions ((Xi, Yj)), each of the grid positions being identifiable by a first coordinate (Xi) in the first direction (X) and a second coordinate (Yj) in the second direction (Y); The method comprises: Using a control system (121) in communication with a vehicle controller in the container handling vehicle (201, 301, 401) to: - Creating a model (1501) of the track system (108, 500), comprising the following steps: - a first region (1502) representing the track system (108, 500) as a finite set of non-overlapping rectangles of grid locations (A, B, C, D, E, F, a set of finite, non-overlapping rectangular second regions (1, 2, 3, 4, 5, 6, 7, 8, 9) of grid locations (G, H, I, J, K, L) and each of said first regions extending along a latitude in said first direction and each of said second regions extending along a longitude in said second direction, wherein the regions are located around grid locations (501, 601) that are inaccessible to said container handling vehicles (201, 301, 401); - determining overlapping information (1503), wherein the overlapping information indicates one or more blocks of the track system in which, within the limited set of the first areas (A, B, C, D, E, F, G, H, I, J, K, L) and the group of the limited second regions (1, 2, 3, 4, 5, 6, There is overlap between one of the regions 7, 8, and 9; - for each grid position ((Xi, Yj)), by determining that the grid position ((Xi, Yj)) is located in the first region (A, B, C, D, E, F, G, H, I, J, K, L) and / or the group of limited second regions (1, 2, 3, 4, 5, 6, 7, 8, 9), to determine the grid location area information (1504); - receiving a request (1505) for a route of at least one container handling vehicle (201, 301, 401) from a first grid location to a second grid location; and - using the model of the track system (108, 500), determining (1506) at least the route of the container handling vehicle (201, 301, 401) from the first grid location to the second grid location.
2. The method according to claim 1, comprising: Using the grid location area information, when the first grid location and the second grid location are in the same area and share the same first coordinate (Xi) or the same second coordinate (Yj), it is determined that the route is a straight line between the first grid location and the second grid location.
3. The method according to claim 1 or 2, comprising: Using the grid location area information, when the first grid location and the second grid location are in the same area and neither share the same first coordinate (Xi) nor the same second coordinate (Yj), it is determined that the route is a single-turn Manhattan route between the first grid location and the second grid location.
4. The method according to any one of claims 1 to 3, comprising: Using the grid location area information and the overlap information, determining that the route is a single-turn Manhattan route between the first grid location and the second grid location when the first grid location and the second grid location are in different and overlapping areas.
5. The method according to claim 1, comprising: A region graph (1511) including nodes and edges is generated using the group of the first regions, the group of the second regions, and the overlapping information, wherein the nodes represent the limited group of the first regions (A, B, C, D, E, F, G, H, I, J, K, L) and the limited group of the second regions (1, 2, 3, 4, 5, 6, 7, 8, 9), and the edge represents the overlapping information.
6. The method according to claim 5, comprising: using the grid location area information and the overlap information to determine that the first grid location and the second grid location are not in the same area and are not in an overlapping area, and A graph traversal and path finding algorithm is used on the area graph to determine a route between the first grid location and the second grid location.
7. The method according to claim 6, wherein: The graph traversal and the path search algorithm are A* algorithms.
8. The method according to any one of claims 1 to 7, wherein: The track system (108, 500) is represented as the group of the first areas (A, B, C, D, E, F, G, H, I, J, K, L) and the group of the second areas (1, 2, 3, 4, 5, 6, 7, 8, 9) Includes: - defining grid locations that cannot be accessed by the container handling vehicle (201, 301, 401) as blocked cells (501, 601) (1507), and defining grid locations that can be accessed by the container handling vehicle (201, 301, 401) as open cells (502); - Determine the first set of non-overlapping rectangular blocks (701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715)(1508), each first block extending along the latitude in said first direction (X) and defining a maximum possible rectangle of continuous open cells not interrupted by at least one blocked cell (501, 601); - A second set of non-overlapping rectangular blocks (716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727)(1509), each second block extending along longitude in a second direction (Y) and defining a maximum possible rectangle of continuous open cells not interrupted by at least one blocked cell (501, 601); - determining the finite set of said first regions (A, B, C, D, E, F, G, H, I, J, K, L) by removing (1510) any blocks (708, 710, 711) of said first set of blocks that fall completely within blocks of said second set of blocks (717, 723, 726); and - determining the finite set of said second regions (1, 2, 3, 4, 5, 6, 7, 8, 9) by removing (1510) any blocks (718, 724, 727) of said second set of blocks that fall completely within blocks of said first set of blocks (707, 709, 715).
9. The method according to claim 8, in, The step of determining the first group of blocks (1508) comprises determining a continuous segment of open cells (502) extending in the first direction (X) and not interrupted by blocked cells (501, 601), the starting position of each continuous segment having a first coordinate (Xi), and the length of each continuous segment being defined by the number of open cells (502) not interrupted by blocked cells (501, 601); wherein the maximum possible rectangle of continuous open cells (502) extending along latitude in the first direction (X) and not interrupted by blocked cells (501, 601) comprises a plurality of adjacent continuous segments having the same first coordinate (Xi) of the starting position and the same length, or a single vertical continuous segment; and The step of determining the second group of blocks (1509) includes determining a continuous segment of open cells (502) extending in the second direction (Y) and not interrupted by blocked cells (501, 601), the starting position of each continuous segment having a second coordinate (Yj), and the length of each continuous segment being limited by the number of open cells (502) not interrupted by blocked cells (501, 601); wherein the maximum possible rectangle of continuous open cells (502) extending along longitude in the second direction (Y) and not interrupted by blocked cells (501, 601) includes a plurality of adjacent continuous segments having the same second coordinate (Yi) of the starting position and the same length, or a single horizontal continuous segment.
10. The method according to any one of claims 1 to 9, wherein: The grid locations that are defined as being inaccessible to the container handling vehicle (201, 301, 401) include: - determining one or more grid locations ((Xi, Yj)) having at least one physical dimension smaller than at least one physical dimension of said container handling vehicle (201, 301, 401); and - identifying the one or more grid locations (601) as inaccessible to the container handling vehicle (201, 301, 401).
11. The method according to any one of claims 1 to 10, wherein: The method comprises: - receiving a request for a route of a plurality of container handling vehicles (201, 301, 401) from a plurality of first grid locations to a second grid location; - using the model of the track system (108, 500), determining a quickest route for each of the plurality of container handling vehicles (201, 301, 401) from the plurality of first grid locations to the second grid location; - determining an optimal container handling vehicle among the plurality of container handling vehicles (201, 301, 401) for moving to the second grid location based on the fastest route for each container handling vehicle among the plurality of container handling vehicles (201, 301, 401); and - instructing said optimal container handling vehicle to move to said second grid position.
12. A system for determining a route for a container handling vehicle (201, 301, 401) operating on a track system (108) of a grid-based automated storage and retrieval system (10) comprising a frame structure (100), the frame structure comprising the track system, the track system (108, 500) comprising a first set of parallel tracks (110) in a first direction (X) and a second set of parallel tracks (111) arranged in a second direction (Y) perpendicular to the first direction (X), the track system (108, 500) defining a plurality of grid positions ((Xi, Yj)), each of the grid positions being identifiable by a first coordinate (Xi) in the first direction (X) and a second coordinate (Yj) in the second direction (Y); A control system (121) adapted to communicate with a vehicle controller in the container handling vehicle (201, 301, 401), wherein: The control system (121) is adapted to: - Creating a model of the track system (108, 500), comprising the following steps: - representing the track system (108, 500) as a first region (A, B, C, D, E, F, a set of finite, non-overlapping rectangular second regions (1, 2, 3, 4, 5, 6, 7, 8, 9) of grid locations (G, H, I, J, K, L) and each of said first regions extending along a latitude in said first direction and each of said second regions extending along a longitude in said second direction, wherein the regions are located around grid locations (501, 601) that are inaccessible to said container handling vehicles (201, 301, 401); - determining overlapping information, wherein the overlapping information indicates one or more blocks of the track system in which, within the limited set of the first areas (A, B, C, D, E, F, G, H, I, J, K, L) and the second region (1, 2, There is overlap between one of the regions 3, 4, 5, 6, 7, 8, 9); - for each grid position ((Xi, Yj)), by determining that the grid position ((Xi, Yj)) is located in the first area (A, B, C, D, E, F, G, H, I, J, K, L) and / or which area of the limited group of second areas (1, 2, 3, 4, 5, 6, 7, 8, 9) to determine the grid location area information; - receiving a request for a route of at least one container handling vehicle (201, 301, 401) from a first grid location to a second grid location; and - using the model of the track system (108, 500), determining a route of at least the container handling vehicle (201, 301, 401) from the first grid location to the second grid location.
13. The system of claim 12, adapted to use the grid location area information to determine that the route is a straight line between the first grid location and the second grid location when the first grid location and the second grid location are in the same area and share the same first coordinate (Xi) or the same second coordinate (Yj).
14. The system according to claim 12 or 13 is adapted to: using the grid position area information, when the first grid position and the second grid position are in the same area and neither share the same first coordinate (Xi) nor the same second coordinate (Yj), determine that the route is a single-turn Manhattan route between the first grid position and the second grid position.
15. The system according to any one of claims 12 to 14, adapted to: use the grid location area information and the overlap information to determine that the route is a single-turn Manhattan route between the first grid location and the second grid location when the first grid location and the second grid location are in different and overlapping areas.
16. The system according to any one of claims 12 to 15, adapted to: generate a region graph (1511) including nodes and edges using the group of the first regions, the group of the second regions and the overlapping information, wherein: The nodes represent the finite set of the first regions (A, B, C, D, E, F, G, H, I, J, K, L) and the finite set of the second regions (1, 2, 3, 4, 5, 6, 7, 8, 9), and the edges represent the overlapping information.
17. The system of claim 16, adapted to use the grid location area information and the overlap information to determine that the first grid location and the second grid location are not in the same area and are not in an overlapping area, and A graph traversal and path finding algorithm is used on the area graph to determine a route between the first grid location and the second grid location.
18. The system of claim 17, wherein: The graph traversal and the path search algorithm are A* algorithms.
19. A system according to any one of claims 12 to 18, wherein: Representing the track system (108, 500) as the set of the first regions (A, B, C, D, E, F, G, H, I, J, K, L) and the set of the second regions (1, 2, 3, 4, 5, 6, 7, 8, 9) comprises: - defining (1507) grid locations that cannot be accessed by the container handling vehicle (201, 301, 401) as blocked cells (501, 601), and defining grid locations that can be accessed by the container handling vehicle (201, 301, 401) as open cells (502); - determining a first set of non-overlapping rectangular blocks (701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715) (1508) of grid positions, each first block extending along latitude in said first direction (X) and defining a largest possible rectangle of consecutive open cells not interrupted by at least one blocked cell (501, 601); - determining a second set of non-overlapping rectangular blocks (716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727) (1509) of grid positions, each second block extending along longitude in a second direction (Y) and defining a largest possible rectangle of consecutive open cells not interrupted by at least one blocked cell (501, 601); - determining the finite set of said first regions (A, B, C, D, E, F, G, H, I, J, K, L) by removing (1510) any blocks (708, 710, 711) of said first set of blocks that fall completely within blocks of said second set of blocks (717, 723, 726); and - determining the finite set of said second regions (1, 2, 3, 4, 5, 6, 7, 8, 9) by removing (1510) any block (718, 724, 727) of said second set of blocks that falls completely within a block of said first set of blocks (707, 709, 715).
20. The system according to claim 19, in, The step of determining the first group of blocks (1508) comprises determining a continuous segment of open cells (502) extending in the first direction (X) and not interrupted by blocked cells (501, 601), the starting position of each continuous segment having a first coordinate (Xi), and the length of each continuous segment being defined by the number of open cells (502) not interrupted by blocked cells (501, 601); wherein the maximum possible rectangle of continuous open cells (502) extending along latitude in the first direction (X) and not interrupted by blocked cells (501, 601) comprises a plurality of adjacent continuous segments having the same first coordinate (Xi) of the starting position and the same length, or a single vertical continuous segment; and The step of determining the second group of blocks (1509) includes determining a continuous segment of open cells (502) extending in the second direction (Y) and not interrupted by blocked cells (501, 601), the starting position of each continuous segment having a second coordinate (Yj), and the length of each continuous segment being limited by the number of open cells (502) not interrupted by blocked cells (501, 601); wherein the maximum possible rectangle of continuous open cells (502) extending along longitude in the second direction (Y) and not interrupted by blocked cells (501, 601) includes a plurality of adjacent continuous segments having the same second coordinate (Yi) of the starting position and the same length, or a single horizontal continuous segment.
21. A system according to any one of claims 12 to 20, wherein: The grid locations that are limited to being inaccessible to the container handling vehicle (201, 301, 401) include: - determining one or more grid locations ((Xi, Yj)) having at least one physical dimension smaller than at least one physical dimension of said container handling vehicle (201, 301, 401); and - identifying the one or more grid locations (601) as inaccessible to the container handling vehicle (201, 301, 401).
22. A system according to any one of claims 12 to 21, adapted to: - receiving a request for a route of a plurality of container handling vehicles (201, 301, 401) from a plurality of first grid locations to a second grid location; - using the model of the track system (108, 500), determining a quickest route for each of the plurality of container handling vehicles (201, 301, 401) from the plurality of first grid locations to the second grid location; - determining an optimal container handling vehicle among the plurality of container handling vehicles (201, 301, 401) for moving to the second grid location based on the fastest route for each container handling vehicle among the plurality of container handling vehicles (201, 301, 401); as well as - instructing said optimal container handling vehicle to move to said second grid position.
23. A computer program product for use in a control system (121) in a system according to claims 12 to 22, wherein: The computer program product comprises instructions which, when executed on the control system (121), perform the method according to claims 1 to 11.
Citation Information
Patent Citations
Storage system
WO2014075937A1
Robot for transporting storage bins
WO2014090684A1
Robot for transporting storage bins
WO2015193278A1
Rail arrangement for a storage system
WO2018146304A1
Container handling vehicle with first and second sections and lifting device motor in second section
WO2019206487A1