Method, system and computer program product for determining conflict-free route for container handling vehicle
By converting the track system into a rectangular block graph, and utilizing a block route planner and graph traversal algorithm, the conflict problem in the route planning of container transport vehicles is solved, achieving efficient and accurate conflict-free route generation.
Patent Information
- Application Number
- CN202480038415.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-08
- Filing Date
- 2024-01-22
- Publication Date
- 2026-02-03
AI Technical Summary
In existing automated storage and retrieval systems, the route planning algorithms for container handling vehicles have failed to effectively avoid conflicts, especially in large grids where computational complexity is high, making real-time computation difficult.
By converting the track system into a rectangular block graph, a block route planner is used to determine conflict-free routes for container transport vehicles, prioritizing vehicles with fewer possible routes to avoid route conflicts, and a graph traversal algorithm is used to generate the fastest route.
It improves the efficiency and accuracy of container handling vehicle route planning, reduces computational complexity, and ensures conflict-free route planning in large grid systems.
Smart Images

Figure CN121464408A_ABST
Abstract
Description
Technical Field
[0001] This 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 conflict-free route in the path of other container handling vehicles operating on a track system of the automated storage and retrieval system. Background Technology
[0002] Figure 1 A prior art automated storage and retrieval system 10 with a frame structure 100 is disclosed, and Figure 2 , Figure 3 and Figure 4 Three different prior art container handling vehicles 201, 301, and 401 suitable for operation on such system 10 are disclosed.
[0003] The frame structure 100 includes upright members 102 and storage volumes comprising storage rows 105 arranged between the upright members 102. In these storage rows 105, storage containers 106 (also referred to as boxes) are stacked one on top of another to form a stack 107. Members 102 can 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 track system 108 arranged across the top of the frame structure 100, through which multiple container handling vehicles 201, 301, and 401 can operate to lift storage containers 106 from and lower storage containers 106 into the storage column 105, and also transport storage containers 106 above the storage column 105. The track system 108 includes: a first set of parallel tracks 110 arranged to guide the container handling vehicles 201, 301, and 401 across the top of the frame structure 100 along a first direction X; and a second set of parallel tracks 111 arranged perpendicular to the first set of tracks 110 to guide the container handling vehicles 201, 301, and 401 along a second direction Y perpendicular to the first direction X. Containers 106 stored in the column 105 are accessed by the container handling vehicles 201, 301, and 401 through access openings 112 in the track system 108. Container handling vehicles 201, 301, and 401 can move laterally above storage column 105, that is, laterally in a plane parallel to the horizontal XY plane.
[0005] The upright members 102 of the frame structure 100 can be used to guide the storage containers during the lifting of containers from and lowering of containers into the column 105. The stack 107 of the containers 106 is typically self-supporting.
[0006] Each prior art container handling vehicle 201, 301, 401 includes a body 201a, 301a, 401a, a first set of wheels 201b, 301b, 401b, and a second set of wheels 201c, 301c, 401c, which enable the container handling vehicles 201, 301, 401 to move laterally in the X and Y directions, respectively. Figure 2 , Figure 3 and Figure 4 In each group, two wheels are fully visible. The first group of wheels 201b, 301b, and 401b are arranged to engage with two adjacent tracks in the first group of tracks 110, and the second group of wheels 201c, 301c, and 401c are arranged to engage with two adjacent tracks in the second group of tracks 111. At least one group of vehicles among these groups of wheels 201b, 201c, 301b, 301c, 401b, and 401c can be raised and lowered, such that the first group of wheels 201b, 301b, and 401b and / or the second group of wheels 201c, 301c, and 401c can engage with the corresponding set of tracks 110 and 111 at any given time.
[0007] Each prior art container handling vehicle 201, 301, 401 also includes a lifting device for vertically transporting the storage container 106, such as lifting the storage container 106 from the storage row 105 and lowering the storage container 106 into the storage row 105. The lifting device includes one or more clamping / engaging devices adapted to engage the storage container 106, and these clamping / engaging devices can be lowered from the vehicles 201, 301, 401 such that the position of the clamping / engaging devices relative to the vehicles 201, 301, 401 can be adjusted in a third direction Z orthogonal to the first direction X and the second direction Y. Some portions of the clamping devices of the container handling vehicles 301, 401 are... Figure 3 and Figure 4 The clamping device of the container handling device 201 is shown and indicated by reference numerals 304 and 404. Figure 2 It is located inside vehicle body 201a, therefore it is not shown.
[0008] Conventionally and for the purposes of this application, Z=1 denotes the uppermost layer below tracks 110 and 111 that can be used for storage containers, i.e., the layer immediately below track system 108; Z=2 denotes the second layer below track system 108; Z=3 denotes the third layer, and so on. Figure 1 In the exemplary prior art disclosed herein, Z=8 identifies the bottommost layer of the storage container. Similarly, X=1…n and Y=1…n identify the position of each storage column 105 in the horizontal plane. Therefore, as an example, and using… Figure 1 The Cartesian coordinate system X, Y, Z shown can be said to be in Figure 1The storage container labeled 106 occupies storage positions X=17, Y=1, Z=6. It can be said that container transport vehicles 201, 301, and 401 travel in layer Z=0, and each storage column 105 can be identified by its X and Y coordinates. Therefore, Figure 1 The storage container shown extending above the orbital system 108 is also referred to as being arranged in the layer at Z=0.
[0009] The storage volume of the frame structure 100 is typically referred to as grid 104, and the possible storage locations within this grid are referred to as storage grid cells. Each storage column can be identified by its position in the X and Y directions, while each storage grid cell can be identified by its container number in the X, Y, and Z directions.
[0010] Each prior art container handling vehicle 201, 301, 401 includes a storage compartment or space for receiving and loading the storage container 106 during transport across the track system 108. The storage space may include cavities arranged within the vehicle bodies 201a, 401a, such as… Figure 2 and Figure 4 As shown, and as described, for example, in WO2015 / 193278A1 and WO2019 / 206487A1, the contents of which are incorporated herein by reference.
[0011] Figure 3 An alternative configuration of a container handling vehicle 301 with a cantilever structure is shown. Such a vehicle is described in detail, for example, in NO 317366, the contents of which are also incorporated herein by reference.
[0012] Figure 2 The area occupied by the cavity container transport vehicle 201 shown can cover an area in the X and Y directions that is approximately equal in size to the lateral extent of the storage column 105, for example, as described in WO2015 / 193278A1, the contents of which are incorporated herein by reference. The term “lateral” as used herein can mean “horizontal”.
[0013] Alternatively, the area occupied by the cavity container transport vehicle 401 can be larger than the lateral area defined by the storage column 105, such as... Figure 1 and Figure 4 As shown, for example, in WO2014 / 090684A1 or WO2019 / 206487A1.
[0014] Track system 108 typically includes tracks with grooves in which the wheels of a vehicle travel. Alternatively, the tracks may include upwardly projecting elements, where the wheels of the vehicle include flanges to prevent derailment. These grooves and upwardly projecting elements are collectively referred to as guide rails. Each track may include one guide rail, and each track 110, 111 may also include two parallel guide rails. In other track systems 108, each track in one direction (e.g., the X direction) may include one guide rail, and each track in another perpendicular direction (e.g., the 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 the pair of guide rails provided by each track.
[0015] WO2018 / 146304A1 (the contents of which are incorporated herein by reference) illustrates a typical construction of a track system 108, which includes tracks and parallel guide rails in both the X and Y directions.
[0016] In the frame structure 100, most columns 105 are storage columns 105, that is, columns 105 in which storage containers 106 are stored in a stack 107. However, some columns 105 may serve other purposes. Figure 1 In this context, columns 119 and 120 are dedicated columns used by container handling vehicles 201, 301, and 401 to place and / or pick up storage containers 106, enabling the transport of storage containers to access stations (not shown) where they can be accessed from outside the frame structure 100 or moved in or out of the frame structure 100. In the art, such locations are commonly referred to as “ports,” and the columns containing the ports may be referred to as “port columns” 119 and 120. Transport to the access stations can take place in any direction (i.e., horizontal, inclined, and / or vertical). For example, storage containers 106 can be placed in random or dedicated columns 105 within the frame structure 100, then picked up by any container handling vehicle and transported to port columns 119 and 120 for further transport to the access stations. Transport from the ports to the access stations may require movement in various directions using means such as transport vehicles, trolleys, or other transport lines. It should be noted that the term "inclined" refers to the transport of storage container 106 having a general transport orientation in a direction between horizontal and vertical.
[0017] exist Figure 1In the first port column 119, for example, it can be a dedicated unloading port column, at which container handling vehicles 201, 301, and 401 can unload storage containers 106 to be transported to the storage station or transfer station, and the second port column 120 can be a dedicated pickup port column, at which container handling vehicles 201, 301, and 401 can pick up storage containers 106 that have been transported from the storage station or transfer station.
[0018] The storage and retrieval station is typically a pick-up station or a stocking station where product items are removed from or positioned in storage container 106. At the pick-up station or stocking station, storage container 106 is not typically removed from the automated storage and retrieval system 10; instead, it is returned to the frame structure 100 after storage and retrieval. Ports can also be used to transfer storage containers to another storage facility (e.g., to another frame structure or another automated storage and retrieval system), to a transport vehicle (e.g., a train or truck), or to a production facility.
[0019] Storage containers are typically transported between port lines 119 and 120 and the access station using a transport system that includes a transmitter.
[0020] If port columns 119, 120 and access stations are located at different horizontal levels, the conveying system may include a lifting device with vertical components for vertically transporting storage container 106 between port columns 119, 120 and access stations.
[0021] The transfer system can be arranged to transfer storage container 106 between different frame structures, for example, as described in WO2014 / 075937A1, the contents of which are incorporated herein by reference.
[0022] When you need to access the stored Figure 1When a storage container 106 is located in one of the multiple columns 105 disclosed herein, one of the container handling vehicles 201, 301, and 401 is instructed to remove the target storage container 106 from its location and transport it to the unloading port column 119. This operation involves moving the container handling vehicles 201, 301, and 401 to a position above the storage column 105 where the target storage container 106 is located, removing the storage container 106 from the storage column 105 using the lifting devices (not shown) of the container handling vehicles 201, 301, and 401, and transporting the storage container 106 to the unloading port column 119. If the target storage container 106 is located deep within the stack 107, i.e., one or more other storage containers 106 are located above the target storage container 106, the operation also involves temporarily moving the storage container located above it before lifting the target storage container 106 from the storage column 105. This step (sometimes referred to in the art as "digging") can be performed using the same container handling vehicle subsequently used to transport the target storage container to unloading port column 119, or using one or more other cooperating container handling vehicles. Alternatively or additionally, the automated storage and retrieval system 1 may have container handling vehicles 201, 301, 401 specifically for the task of temporarily removing storage container 106 from storage column 105. After the target storage container 106 has been removed from storage column 105, the temporarily removed storage container 106 can be repositioned back into its original storage column 105. The removed storage container 106, however, can alternatively be repositioned to another storage column 105.
[0023] When storage container 106 is to be stored in one of the multiple columns 105, one of the container handling vehicles 201, 301, and 401 is instructed to pick up storage container 106 from pick-up port column 120 and transport the storage container to a position above the storage column 105 in which it will be stored. After any storage container 106 located at or above the target position within the stack 107 has been removed, container handling vehicles 201, 301, and 401 position the storage container 106 in the desired location. The removed storage container 106 can then be lowered back into the storage column 105 or repositioned to another storage column 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 container transport vehicles 201, 301, 401, so that the required storage container 106 can be transported to the required location at the required time without the container transport 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 typically includes a database for keeping track of the storage containers 106.
[0025] When operating on the track system 108, work is assigned to container handling vehicles 201, 301, and 401 to move and transport storage containers 106 from one location to another. When estimating the time required to assign work, it is important to make a good estimate so that the work can be implemented or assigned in the optimal order. A simple way to do this is to use Manhattan distance / time for estimation. One drawback of using Manhattan distance is that it does not take into account the geometry of the grid, making the estimate potentially very inaccurate in some cases, such as when there are no tracks across the grid or gaps with permanently blocked cells.
[0026] A Search algorithm or A Variations of this approach are typically used for conflict-based search and for generating routes for multiple agents, such as container transport vehicles 201, 301, and 401. Route finding can be CPU-intensive when many agents need to move and / or when there is a large grid to move through. When route planning is performed for several agents, conflicting routes are marked. The resolution of conflicts involves replanning routes for agents that have not yet found a path to their destination.
[0027] To perform all tasks, complete A procedure was performed on all container handling vehicles 201, 301, and 401. Route algorithms are often too time-consuming for real-time computer processing, especially for large grids.
[0028] To address this problem, Automated Storage Technology Co., Ltd. previously developed a method for determining possible routes for container handling vehicles 201, 301, and 401, known as block route planning. First, a conflict-based search is performed using a block route planner to find possible routes for the agent from the starting position to the ending position. This method is very fast in most cases and accurate in all cases. The track system 108, arranged across the top of the frame structure 100, is transformed into a simpler 2D representation by describing it as a finite number of rectangular vertical blocks and a finite number of horizontal blocks. These blocks and their overlapping portions can then be used to quickly query the optimal route and duration. The output routes and durations from the block route planner can be used to improve allocation and time estimation, and provide useful input to actual route calculations.
[0029] However, the block route planner does not take into account any other container handling vehicles or their movements (e.g., a second container handling vehicle, a third container handling vehicle, a fourth container handling vehicle, etc.). This invention is an improvement on the block route planner and provides a solution for generating routes for multiple container handling vehicles with conflicting routes generated by the block route planner. Summary of the Invention
[0030] This summary is provided to introduce some concepts in a simplified form that will be further described herein. This summary is not intended to identify key or essential features of the invention.
[0031] The invention is set forth and characterized in the independent claims, while the dependent claims describe other features of the invention. The invention is also set forth and characterized in the independent clauses, while the dependent clauses describe other features of the invention.
[0032] More specifically, the present invention is defined by a method for determining a route for a container handling vehicle, wherein the route is one of the routes of at least one other container handling vehicle operating in a grid system (the route is one of a set of routes in the grid system together with the routes of at least one other container handling vehicle), the grid system being, for example, a track system comprising a gridded automated storage and retrieval system including a frame structure, the frame structure including a 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 locations, each grid location being identifiable by a first coordinate in the first direction and a second coordinate in the second direction.
[0033] The method includes performing the following steps using a control system that communicates with the vehicle controller in each container handling vehicle: Creating a model of the orbital system involves the following steps: The track system is represented as a finite number of non-overlapping rectangular first blocks formed by grid positions and a finite number of non-overlapping rectangular second blocks formed by grid positions, each first block extending laterally along a first direction and each second block extending longitudinally along a second direction, wherein these blocks are positioned around grid positions that are inaccessible to container transport vehicles. Determine overlap information, wherein the overlap information indicates that there are one or more overlapping regions between a block in a finite number of first block groups and a block in a finite number of second block groups in the orbital system; and The grid location block information is determined by identifying which block within a finite number of first block groups and / or finite number of second block groups the grid location falls into. The control system receives a route request from each of at least two container handling vehicles to move from a corresponding first grid location to a corresponding second grid location. The control system then... Using a model of the track system, determine one or more possible routes for at least two container transport vehicles from a corresponding first grid position to a corresponding second grid position. For each container handling vehicle, routes are prioritized and selected. Vehicles with fewer possible routes are given priority over conflicting routes with more possible routes, thus avoiding route conflicts. Specifically, for container handling vehicles with many possible routes and conflicting routes, conflicting routes are eliminated from the possible routes, and an alternative route is selected for that vehicle. Control each container handling vehicle to travel along the selected route.
[0034] A conflict route is a route used for container handling vehicles that have one or more overlapping sections.
[0035] According to one embodiment of the invention, for three or more container handling vehicles that may have conflicting routes, the routes of the container handling vehicles are sorted and prioritized according to the number of possible routes. The route of the container handling vehicle with the fewest possible routes is ranked first, while the route of the container handling vehicle with the most possible routes is ranked last and given the lowest priority. Routes are then selected for the container handling vehicles according to this ranking. A cost function may also be included to determine both conflict-free routes and the fastest routes to the destination. For example, if a container handling vehicle has five possible routes to the destination, two of which have lower costs, while another container handling vehicle has three possible routes to the destination, and all routes have the same cost, then the conflict-free, lower-cost route of the container handling vehicle with more possible routes can be selected.
[0036] According to another embodiment, for at least two container handling vehicles, each having at least two possible routes, the route with the lowest cost is preferentially selected. The route with the lowest cost is the fastest route for the container handling vehicle from its current location to its destination; for example, the cost of moving along a straight line is lower than the cost of moving in a direction that requires changing direction one or more times to reach the destination.
[0037] In one implementation, the method may include generating a block graph comprising nodes and edges using a first block group, a second block group, and overlap information, wherein nodes represent a finite number of first block groups and a finite number of second block groups, and edges represent overlap information.
[0038] In one embodiment, the method may include: using grid location block information and overlap information to determine that a first grid location and a second grid location are not in the same block and not in overlapping blocks, and determining a route between the first grid location and the second grid location by performing a graph traversal and pathfinding algorithm on the block graph. In one embodiment, the graph traversal and pathfinding algorithm may be A algorithm.
[0039] In one implementation, representing the orbital system as a first block group and a second block group may include: Grid locations inaccessible to container transport vehicles are defined as blocked cells, while grid cells accessible to container transport vehicles are defined as open cells. A first set of non-overlapping rectangular regions consisting of grid positions is determined, each first region extending laterally along a first direction, and defining the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking cell. A second set of non-overlapping rectangular regions, defined by grid positions, is determined. Each second region extends longitudinally along a second direction, and defines the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking cell. A finite number of first block groups are determined by removing any region from the first group that falls entirely within a region of the second group; and A finite number of second block groups are determined by removing any area in the second group that falls entirely within the first group.
[0040] In one embodiment, the step of determining a first group of regions may include: determining a continuous open cell segment extending along a first direction without being interrupted by blocking cells, each continuous segment having a starting position and a length, the starting position having a first coordinate, the length being defined by the number of open cells not interrupted by blocking cells, wherein the largest possible continuous open cell rectangular region extending laterally along the first direction without being interrupted by blocking cells includes a plurality of adjacent continuous segments or a single vertical continuous segment, the plurality of adjacent continuous segments having the same starting position at the first coordinate and having the same length; and the step of determining a second group of regions includes: determining a continuous open cell segment extending along a second direction without being interrupted by blocking cells, each continuous segment having a starting position and a length, the starting position having a second coordinate, the length being defined by the number of open cells not interrupted by blocking cells, wherein the largest possible continuous open cell rectangular region extending longitudinally along the second direction without being interrupted by blocking cells includes a plurality of adjacent continuous segments or a single horizontal continuous segment, the plurality of adjacent continuous segments having the same starting position at the second coordinate and having the same length.
[0041] In one implementation, defining grid locations that are inaccessible to container transport vehicles may include: identifying one or more grid locations whose at least one physical size is smaller than at least one physical size of a container transport vehicle, and identifying the one or more grid locations as inaccessible to container transport vehicles.
[0042] In one implementation, the method may include: Receive route requests from multiple container transport vehicles from multiple first grid locations to second grid locations; Using a model of the track system, determine the fastest route for each of the multiple container handling vehicles from multiple first grid positions to second grid positions, and Determine the optimal container handling vehicle among multiple container handling vehicles for moving to the second grid position based on the fastest route of each container handling vehicle. Instruct the optimal container handling vehicle to move to the second grid position.
[0043] In one implementation, the method may include: The timing information of container transport vehicles traveling along the route is used to determine whether the intersection of the routes at potentially conflicting grid locations is conflict-free.
[0044] In a second aspect, the invention relates to a system for determining routes for container handling vehicles, wherein the route is a route among routes of other container handling vehicles, all of which operate on a track system comprising a gridded automated storage and retrieval system comprising a frame structure, 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; and a control system configured to communicate with a vehicle controller in the container handling vehicle, wherein the control system is configured to: Create a model of the orbital system using the following steps: The track system is represented as a finite number of non-overlapping rectangular first blocks formed by grid positions and a finite number of non-overlapping rectangular second blocks formed by grid positions, each first block extending longitudinally along a first direction and each second block extending longitudinally along a second direction, wherein these blocks are positioned around grid positions that are inaccessible to container transport vehicles. Determine overlap information, wherein the overlap information indicates that there are one or more overlapping regions between a block in a finite number of first block groups and a block in a finite number of second block groups in the orbital system; and The grid location block information is determined by identifying which block in a finite number of first block groups and / or a finite number of second block groups the grid location belongs to. Specifically, upon receiving a route request from each of at least two container handling vehicles to move from a corresponding first grid location to a corresponding second grid location, the control system is configured to: Using a model of the track system, determine the routes, or multiple possible routes, for at least two container transport vehicles from a corresponding first grid position to a corresponding second grid position. For each container handling vehicle, routes are prioritized and selected. Vehicles with fewer possible routes are given priority over conflicting routes with more possible routes, thus avoiding route conflicts. Specifically, for container handling vehicles with many possible routes and conflicting routes, conflicting routes are eliminated from the possible routes, and an alternative route is selected for that vehicle. Control each container handling vehicle to travel along the selected route.
[0045] In one implementation, the system can be configured to use grid location block 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 the same block and do not share the same first coordinate or the same second coordinate.
[0046] In one implementation, the system can be configured to determine, using grid location block information and overlap information, 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 but overlapping blocks.
[0047] In one implementation, the system can be configured to generate a block graph including nodes and edges using a first block group, a second block group, and overlap information, wherein nodes represent a finite number of first block groups and a finite number of second block groups, and edges represent overlap information.
[0048] In one implementation, the system can be configured to determine that the first grid position and the second grid position are not in the same block and are not in overlapping blocks using grid location block information and overlap information, and to determine the route between the first grid position and the second grid position by performing graph traversal and path search algorithms on the block graph. In one implementation, the graph traversal and path search algorithm can be A algorithm.
[0049] In one implementation, representing the orbital system as a first block group and a second block group may include: Grid locations inaccessible to container transport vehicles are defined as blocked cells, while grid cells accessible to container transport vehicles are defined as open cells. A first set of non-overlapping rectangular regions consisting of grid positions is determined, each first region extending laterally along a first direction, and defining the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking cell. A second set of non-overlapping rectangular regions, defined by grid positions, is determined. Each second region extends longitudinally along a second direction, and defines the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking cell. A finite number of first block groups are determined by removing any region from the first group that falls entirely within a region of the second group. A finite number of second block groups are determined by removing any area in the second group that falls entirely within the first group.
[0050] In one embodiment, determining a first set of regions may include: determining continuous open cell segments extending along a first direction without being interrupted by blocking units, each continuous segment having a starting position and a length, the starting position having a first coordinate, the length being defined by the number of open cells not interrupted by blocking units, wherein the largest possible continuous open cell rectangular region extending laterally along the first direction without being interrupted by blocking units includes multiple adjacent continuous segments or a single vertical continuous segment, the multiple adjacent continuous segments having the same starting position at the first coordinate and having the same length, and the step of determining a second set of regions includes: determining continuous open cell segments extending along a second direction without being interrupted by blocking units, each continuous segment having a starting position and a length, the starting position having a second coordinate, the length being defined by the number of open cells interrupted by blocking units, wherein the largest possible continuous open cell rectangular region extending longitudinally along the second direction without being interrupted by blocking units includes multiple adjacent continuous segments or a single horizontal continuous segment, the multiple adjacent continuous segments having the same starting position at the second coordinate and having the same length.
[0051] In one implementation, defining grid locations that are inaccessible to container transport vehicles may include: identifying one or more grid locations whose at least one physical size is smaller than at least one physical size of a container transport vehicle, and identifying the one or more grid locations as inaccessible to container transport vehicles.
[0052] In one implementation, the system can be configured to
[0053] Receive route requests from multiple container transport vehicles from multiple first grid locations to second grid locations. A model of the track system is used to determine the fastest route for each of the multiple container handling vehicles from multiple first grid positions to second grid positions. The optimal container handling vehicle for moving to the second grid position is determined based on the fastest route of each of the multiple container handling vehicles. Instruct the optimal container handling vehicle to move to the second grid position.
[0054] In a third aspect, the present invention relates to a computer program product for use in a control system of the second aspect, wherein the computer program product includes instructions that, when run on the control system, execute the method according to the first aspect.
[0055] Various aspects of the present invention provide a system, method, and computer program product for determining conflict-free routes for container transport vehicles operating on a track system of a gridded automated storage and retrieval system. The method includes: creating a model of the track system, representing the track system as a finite number of non-overlapping rectangular first blocks in a first direction and a finite number of non-overlapping rectangular second blocks in a second direction, wherein these blocks are located around grid locations inaccessible to the container transport vehicles; determining overlap information indicating one or more overlapping areas between a block in the finite number of first blocks and a block in the finite number of second blocks in the track system; determining grid location block information by determining, for each grid location, which block group of the finite number of first blocks and / or the finite number of second blocks it falls into; receiving route requests from at least two container transport vehicles, each of which moves from a corresponding first grid location to a corresponding second grid location; prioritizing and selecting routes for each container transport vehicle, wherein conflicting routes of container transport vehicles with fewer possible routes are preferred over conflicting routes of container transport vehicles with more possible routes, thereby avoiding conflicts between routes. Attached Figure Description
[0056] The following figures are attached to facilitate understanding of the invention. The figures illustrate embodiments of the invention, which will now be described by way of example only, in which: Figure 1 This is a three-dimensional diagram of the framework structure of an existing automated storage and retrieval system.
[0057] Figure 2 This is a perspective view of a prior art container handling vehicle having an internal cavity for carrying storage containers therein.
[0058] Figure 3 This is a perspective view of a prior art container handling vehicle having a cantilever for supporting storage containers below.
[0059] Figure 4 This is a perspective view of a prior art container handling vehicle, viewed from below, having an internal cavity for carrying storage containers therein.
[0060] Figure 5 This is a schematic top view of an exemplary track system and blocking unit.
[0061] Figure 6 This is a schematic diagram of a method according to an embodiment of the present invention.
[0062] Figure 7 This is a schematic diagram of a method according to an embodiment of the present invention.
[0063] Figure 8 This is a schematic diagram of a method according to an embodiment of the present invention.
[0064] Figure 9 This is a schematic diagram of a method according to an embodiment of the present invention.
[0065] Figure 10 This is a schematic diagram of a method according to an embodiment of the present invention.
[0066] Figure 11 This is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0067] Figure 12 This is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0068] Figure 13 This is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0069] Figure 14 This is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0070] Figure 15 This is a flowchart of a method according to an embodiment of the present invention.
[0071] Figure 16 This is a schematic diagram of a block diagram according to an embodiment of the present invention.
[0072] Figure 17 This is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0073] Figure 18 This is a schematic diagram of the shortest route according to an embodiment of the present invention.
[0074] Figure 19 This is a diagram illustrating the conflicting routes of several container transport vehicles. Detailed Implementation
[0075] Overall, a method (1500) for determining routes for container handling vehicles (201, 301, 401) is provided. The method includes receiving a route request from each of at least two container handling vehicles (201, 301, 401) to move from a corresponding first grid location to a corresponding second grid location (step 1505). The method determines one or more possible routes for the at least two container handling vehicles (201, 301, 401) from the corresponding first grid location to the corresponding second grid location (step 1506). The method prioritizes and selects routes for each container handling vehicle (201, 301, 401) (step 1512). Routes of container handling vehicles (201, 301, 401) with fewer possible routes are preferred over conflicting routes of container handling vehicles (201, 301, 401) with more possible routes, thereby avoiding route conflicts. For container handling vehicles with multiple possible routes and conflicting routes, eliminate conflicting routes from the possible routes and select an alternative route for the container handling vehicle (201, 301, 401). Control each container handling vehicle (201, 301, 401) to travel along the selected route.
[0076] In the following, embodiments of the invention will be discussed in more detail with reference to the accompanying drawings. However, it should be understood that the drawings are not intended to limit the invention to the subject matter depicted therein.
[0077] The frame structure 100 of the automatic storage and retrieval system 10 is combined with the above. Figure 1 The existing frame structure 100 is constructed in a similar manner. That is, the frame structure 100 includes multiple upright members 102 and a first upper track system 108 extending in the X and Y directions. Examples of container transport vehicles 201, 301, and 401 traveling on the track system 108 are described below. Figures 2 to 4 As shown in the image.
[0078] The frame structure 100 also includes storage compartments in the form of storage columns 105 disposed between the members 102, wherein storage containers 106 can be stacked in the form of stacks 107 within the storage columns 105.
[0079] The frame structure 100 can have any size. It should be understood that the frame structure can be larger than... Figure 1 The disclosed frame structure is wider and / or longer and / or deeper. For example, frame structure 100 may have a horizontal range of more than 700×700 columns and a storage depth of more than twelve containers.
[0080] As described above in the background section, this invention is a further improvement on the ZoneRouter method of Automated Storage Technology Co., Ltd. for determining possible routes of container handling vehicles operating on a track system in an automated storage and retrieval system. To fully understand this invention, reference will first be made to... Figures 5 to 18 An embodiment of an automated storage and retrieval system with storage units, a track system, and a blocking unit is shown to describe a block route planning method.
[0081] Figure 5 This is a schematic top view of an exemplary track system 500. The track system 500 includes a first set of parallel tracks arranged along a first direction, and a second set of parallel tracks arranged along a second direction Y perpendicular to the first direction X. The track system 500 defines a plurality of grid locations (Xi, Yj), each grid location being identifiable 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 location (Xi, Yj) is shown, where Xi = 4 and Yj = 2. For simplicity, the grid location (Xi, Yj) shown is square; however, in situations such as... Figure 1 In a typical implementation of the orbital system 108, the grid positions (Xi, Yj) or cells are rectangular. For rectangular cells, the travel time above the cell differs in the x and y directions. The orbital system is an instance of a grid system.
[0082] A grid location (Xi, Yj) that is permanently inaccessible to container handling vehicles 201, 301, and 401 is referred to as a permanently blocked unit 501. A permanently blocked unit 501 is a grid location that is physically inaccessible to container handling vehicles due to the physical layout of the warehouse (such as missing units caused by walls, pillars, low ceilings, or other physical reasons). In addition to permanently blocked units, there may also be grid locations (Xi, Yj) where at least one physical dimension is smaller than at least one physical dimension of the container handling vehicles 201, 301, and 401 operating on the track system 500, making such grid locations physically inaccessible to container handling vehicles 201, 301, and 401. One such grid location 601... Figures 6 to 14 , Figure 17 and Figure 18 As shown in the image.
[0083] Figure 15 It is shown as in Figure 5The flowchart illustrates a method 1500 for determining routes for container transport vehicles 201, 301, and 401 operating on the track system 500. The method includes performing the following operations using a control system communicating with vehicle controllers in the container transport vehicles 201, 301, and 401: creating a model of the track system 500 (step 1501); receiving route requests from at least two container transport vehicles 201, 301, and 401 from a first grid position to a second grid position (step 1505); and using the model of the track system 500 to determine a route or a set of routes for moving at least two container transport vehicles 201, 301, and 401 from the first grid position to the second grid position (step 1506).
[0084] The number of possible routes for a container transport vehicle to travel from its starting position to its destination on track system 108 is represented by the slack number. A slack number of 4 means that there are 4 possible routes, all of which lead to the same destination.
[0085] Redundancy (i.e., the number of possible routes) is used to select routes for each container handling vehicle 201, 301, and 401 (step 1512) to avoid route conflicts. Routes for container handling vehicles 201, 301, and 401 with lower redundancy are preferred over conflicting routes for those with higher redundancy. In this case, conflicting routes are excluded from the possible routes of container handling vehicles 201, 301, and 401 with higher redundancy. If routes conflict, one or more routes for container handling vehicles 201, 301, and 401 with a redundancy of, for example, 8, will be excluded from the available routes and given priority to container handling vehicles 201, 301, and 401 with lower redundancy.
[0086] For further reference Figure 9 Creating a model of the track system 500 (step 1501) includes step 1502: representing the track system 500 as a finite number of non-overlapping rectangular first block groups A, B, C, D, E, F, G, H, I, J, K, L formed by grid positions and a finite number of non-overlapping rectangular second block groups 1, 2, 3, 4, 5, 6, 7, 8, 9 formed by grid positions, each first block extending laterally along a first direction X and each second block extending longitudinally along a second direction Y, wherein these blocks are positioned around grid positions 501, 601 that are inaccessible to container transport vehicles 201, 301, 401.
[0087] In subsequent step 1503, overlap information is determined, wherein the overlap information indicates that there are one or more overlapping regions between a block from a finite number of first block groups A, B, C, D, E, F, G, H, I, J, K, L in the orbital system and a block from a finite number of second block groups 1, 2, 3, 4, 5, 6, 7, 8, 9. For example, from Figure 9 The information clearly shows that block 1 overlaps with blocks A, C, D, E, and F; block 2 overlaps with block L; block 3 overlaps with blocks A, C, D, E, F, I, and L, and so on. This information can be stored in an array and cannot be modified once created.
[0088] In the next step 1504, the grid location block information is determined by identifying which block in a finite number of first block groups A, B, C, D, E, F, G, H, I, J, K, L and / or a finite number of second block groups 1, 2, 3, 4, 5, 6, 7, 8, 9 the grid location (Xi, Yj) falls within. This grid location information can be stored in a matrix or similar structure and must not be modified once created. Figure 10 This shows the blocks to which all grid locations belong. A grid location belongs to at least one block and at most two blocks. This allows data to be stored sparsely and quickly looked up by grid location.
[0089] refer to Figures 11 to 14 and Figure 17 The steps described are as follows: receiving a request and using a model of the track system 500 to determine the routes for moving container transport vehicles 201, 301, and 401 from a first grid position to a second grid position.
[0090] Now for reference Figure 15 In one embodiment, the step of representing the track system 500 as a first block group A, B, C, D, E, F, G, H, I, J, K, L and a second block group 1, 2, 3, 4, 5, 6, 7, 8, 9 includes step 1507: defining grid positions (Xi, Yj) that are inaccessible to container transport vehicles 201, 301, 401 as blocking units 501, 601, and defining grid units that are accessible to container transport vehicles 201, 301, 401 as open units 502. Blocking units 501, 601 can be permanent blocking units 501 or grid positions 601, where at least one physical dimension of the grid position is smaller than at least one physical dimension of the container transport vehicles 201, 301, 401 operating on the track system 500, such that the container transport vehicles 201, 301, 401 cannot pass through in at least one direction.
[0091] Then in the subsequent steps, such as Figure 7As shown, a first set of non-overlapping rectangular regions 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, formed by grid positions, is determined (step 1508). Each first region extends laterally along a first direction X and defines the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking unit 501, 601. A second set of non-overlapping rectangular regions 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, formed by grid positions, is determined (step 1509). Each second region extends longitudinally along a second direction Y and defines the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking unit 501, 601. The term "continuous open cell" refers to the maximum extension range of open cells arranged side-by-side in each direction.
[0092] Then in the subsequent step 1510, as Figure 8 As shown, a finite number of first block groups A, B, C, D, E, F, G, H, I, J, K, L are determined by removing any region 708, 710, 711 from a region of the first group that falls entirely within a region of the second group 717, 723, 726; and a finite number of second block groups 1, 2, 3, 4, 5, 6, 7, 8, 9 are determined by removing any region 718, 724, 727 from a region of the second group that falls entirely within a region of the first group 707, 709, 715.
[0093] Regions that fall entirely within another region are redundant. Removing these redundant regions is crucial for several reasons, such as: making any A... Route search is more efficient, and moving from one block to another means making a turn.
[0094] Now for reference Figure 15 In one implementation, step 1508 of determining the first group of regions includes: as follows Figure 6 As shown in B, continuous open cell segments 502 extending along the first direction X without being interrupted by blocking cells 501 and 601 are defined. Each continuous segment has a starting position and a length. The starting position has a first coordinate Xi. The length is limited by the number of open cells 502 that are not interrupted by blocking cells 501 and 601, and as shown in Figure B. Figure 7As shown in B, the largest possible rectangular region of continuously open units 502, extending laterally along the first direction X and not interrupted by blocking units 501 and 601, includes multiple adjacent continuous segments or a single vertical continuous segment. These multiple adjacent continuous segments have the same starting position at the first coordinate Xi and have the same length. Similarly, step 1509 of determining the second group of regions includes: Figure 6 As shown in Figure A, a series of open cell segments 502 extending along the second direction Y without being interrupted by blocking units 501 and 601 are defined. Each series segment has a starting position and a length. The starting position has a second coordinate Yj, and the length is limited by the number of open cells 502 that are not interrupted by blocking units 501 and 601. Figure 7 As shown in A, the largest possible continuous open unit rectangular region formed by continuous open units 502, which extends longitudinally along the second direction Y and is not interrupted by blocking units 501 and 601, includes multiple adjacent continuous segments or a single horizontal continuous segment. These multiple adjacent continuous segments have the same starting position and the same length as the second coordinate Yi.
[0095] In one implementation, the method includes step 1511: generating a block graph including nodes and edges using a first block group, a second block group, and overlap information, wherein nodes represent a finite number of first block groups A, B, C, D, E, F, G, H, I, J, K, L and a finite number of second block groups 1, 2, 3, 4, 5, 6, 7, 8, 9, and edges represent overlap information.
[0096] Figure 16 yes Figure 9 The diagram shows an exemplary schematic of the block diagram 1600 of the track system 500 above the dashed lines α1-α2, including the blocks and edges. Circles represent blocks A, C, D, E, F, I, L, 1, 2, 3, 4, and 5, and interconnecting lines represent edges. Dotted edges extending from blocks D and F illustrate the connection with… Figure 9 The blocks below the dashed lines α1-α2 overlap.
[0097] The route request (step 1505) for container transport vehicles 201, 301, and 401 from a first grid position to a second grid position includes the first grid position, i.e., the starting position of container transport vehicles 201, 301, and 401, and the second grid position, i.e., the ending position of container transport vehicles 201, 301, and 401. The request may also include: information about container transport vehicles 201, 301, and 401, such as robot type, current direction of movement, and orientation of container transport vehicles 201, 301, and 401 on the track system 500; and information about the track system 500, such as the cell size used to calculate travel time. The route request is the optimal route from the first grid position to the second grid position, such as the fastest route. Alternatively, instead of requesting a route, a request for the lowest cost can be made. This request is the same as the route request, but instead of returning a route, it returns the cost / duration of the optimal route.
[0098] When determining the fastest route, the method of the present invention explicitly handles three main cases: a straight route, a Manhattan route, and a route that passes through more than two blocks.
[0099] Using grid location block information, when the first and second grid positions are in the same block and share the same first coordinate (Xi) or the same second coordinate (Yj), the fastest route can be determined to be a straight line between the first and second grid positions. This ensures no congestion between the starting and ending positions. If only considering that the first and second grid positions share the same first coordinate (Xi) or the same second coordinate (Yj), it cannot be guaranteed that the container transport vehicle can travel along this route. For example, if... Figure 9 As shown in B, the process moves from block L to block K. Figure 11 The straight-line route between point A and point B within the same block 7 is shown.
[0100] Using grid location block information, it can be determined that when the first grid position and the second grid position are in the same block and do not share the same first coordinate (Xi) or the same second coordinate (Yj), the fastest route is the single-turn Manhattan route between the first grid position and the second grid position. For the Manhattan route within a single block, there are two equally optimal routes to choose from. Figure 12 This illustrates two possibilities for a non-mobile container transport vehicle to move from A to B within block C.
[0101] If, in any of the single-block route scenarios discussed above, the container transport vehicle is moving and is currently passing through or leaving the second grid position, it will need to make two additional turns to reach the second grid position, unless it is currently passing through the target position, in which case the container transport vehicle needs to stop and drive back in a straight line.
[0102] Using grid location block information and overlap information, it can be determined that when the first grid position and the second grid position are in different but overlapping blocks, the fastest route is a single-turn Manhattan route between the first grid position and the second grid position, such as... Figure 13 As shown. In this case, first verify that the first grid position and the second grid position are not in the same block.
[0103] In the third case, grid location block information and overlap information are used to determine that the first and second grid locations are not in the same block and are not in overlapping blocks. That is, the route passes through more than two blocks. In this case, the fastest route between the first and second grid locations is determined by performing a graph traversal and pathfinding algorithm on block graph 1600. Any suitable graph traversal and pathfinding algorithm known to those skilled in the art can be used. The preferred graph traversal and pathfinding algorithm is A. Algorithms. For example... Figure 14 As shown, a turn occurs when moving to the first available cell within the next block, resulting in a longer route segment at the end of the route. This allows for easy determination of the optimal route. This is due to the acceleration / deceleration of the container transport vehicle. A longer route segment provides less acceleration / deceleration, which is optimal. Specifically, this determination process considers overlapping blocks and calculates the time required to move from the first grid position to the first available cell in the first overlapping block. Starting with the first available cell in the first overlapping block, this process is repeated for the first available cell in the second overlapping block, and so on, thus determining the route. The final portion of the route (indicated by dashed lines) is processed separately because the container transport vehicle has directional requirements when entering the final block. Therefore, in this case, the penultimate segment extends by one cell before the turn to match the second grid position in the correct manner.
[0104] When determining the fastest route from the first grid position to the second grid position, it is assumed that the container transport vehicle operates alone on the track system 500. That is, other container transport vehicles and other temporary obstructions on the track system, such as boxes at the top, are not considered. The control system 121 communicates with multiple container transport vehicles 201, 301, 401 and is aware of their current positions, paths, and other temporary obstructions. Therefore, the control system 121 may find that the determined fastest route is inaccessible due to other container transport vehicles occupying the route or due to other temporary obstructions, in which case a portion of the optimal route can be modified to take this into account.
[0105] The number of possible routes for a container transport vehicle to travel from its starting position to its destination on track system 108 is represented by the redundancy number. A redundancy number of 4 means that there are 4 possible routes, all of which lead to the same destination.
[0106] like Figure 17 As shown, the first route segment is set to enter the next block 7, which does not turn at the first available cell. There are four possibilities because the next block 7 has a height of 4 (meaning the redundancy of this segment is 4), thus giving four possible arrangements of the route from the first grid position to the second grid position. While the first redundancy choice (i.e., turning at the first available cell) is the optimal way, the other routes are not very far either. Figure 18 As shown, the redundancy of the second route segment is 3 because the next block E has a width of 3, thus providing three additional route arrangements on top of the existing four routes in the first segment. There are 12 possible routes from the first grid position to the second grid position, and the control system 121 can iterate rapidly to determine the optimal path, taking into account other container handling vehicles and temporary blockages on the track system 500.
[0107] The fastest route between grid locations can be determined for multiple container handling vehicles, for example, to determine which of the multiple container handling vehicles is the optimal one to perform a task, or to determine which of multiple tasks to perform first. In one instance, a task such as picking up a storage container needs to be completed at a second grid location. In one embodiment of the method, route requests from multiple container handling vehicles 201, 301, and 401 from multiple first grid locations to a second grid location can be received. The fastest route for each of the multiple container handling vehicles 201, 301, and 401 from the multiple first grid locations to the second grid location can then be determined using a model of the track system 500. Based on the fastest route for each of the multiple container handling vehicles 201, 301, and 401, the optimal container handling vehicle among the multiple container handling vehicles 201, 301, and 401 for moving to the second grid location can be determined, and that optimal container handling vehicle can be instructed to move to the second grid location to perform the task.
[0108] The above reference Figures 5 to 18 The described block route planning method does not take into account any other container handling vehicles with conflicting routes passing through the same overlapping blocks, nor does it consider their movement as they travel along the routes. This invention is a further improvement on the described block route planner and provides a method for resolving conflicting routes generated by the block route planner for multiple container handling vehicles 201, 301, 401.
[0109] As mentioned above, the routes generated by the block route planner add the concept of redundancy, which means that the route of a container transport vehicle is actually a set of routes, where the redundancy number of the container transport vehicle represents the number of possible routes from the starting point to the destination.
[0110] The present invention utilizes the redundancy of multiple container handling vehicles 201, 301, and 401 to determine the conflict-free routes of container handling vehicles 201, 301, and 401 that take routes passing through overlapping blocks as possible routes.
[0111] Redundancy is used to determine which routes should be selected to avoid conflicts, rather than selecting conflicting routes that should be rerouted. Based on redundancy, potential route conflicts are resolved by prioritizing routes for container handling vehicles 201, 301, and 401 with lower redundancy and selecting conflict-free routes for container handling vehicles 201, 301, and 401 with higher redundancy.
[0112] Figure 19 An example of possible routes for three different container transport vehicles in an exemplary grid is shown. Route A has 12 possibilities, i.e., a redundancy of 12, because it has 4 possible routes in the horizontal block and 3 possible routes in the vertical block. Route B has a redundancy of 1, meaning it has only one optimal route, as does route C. In this case, conflicts are identified between routes A and B, and between routes A and C. Instead of choosing which routes should be rerouted, the redundancy number of route A suggests that, globally, choosing a central route in the Y direction and allowing routes B and C to retain their optimal routes is a better approach.
[0113] Furthermore, time factors can be considered to avoid conflicts between agents such as container transport vehicles 201, 301, and 401. For example, if route B is given priority, a conflict may still occur when route A passes route B in the X direction, since route A can be planned differently. However, since the timing information of the agent's routes is known or can be calculated, we know there will be no conflict in the X direction because when the agent with route A moves along the X direction, the agent with route B has already passed the intersection track.
[0114] If route planning is not possible for certain agents—for example, if two routes are equal but in opposite directions—then it is possible to backtrack to the normal A. Route planning and conflict resolution based on other priorities.
[0115] The advantages of this solution are its fast route generation speed and low load on the CPU or GPU. The route groups planned for each agent are fully parallelizable and can run in a multi-threaded manner on the CPU or GPU.
[0116] List of reference numerals in the attached diagram: Existing technology ( Figures 1 to 4 ):
[0117] ( Figures 5 to 19 )
[0118] Terms and Conditions
[0119] Aspects and features of the present invention are defined in the following numbered clauses.
[0120] 1. A method (1500) for determining a route for container handling vehicles (201, 301, 401), wherein the route is one of the routes of at least one other container handling vehicle (201, 301, 401) operating on a track system (108, 500) of a gridded automated storage and retrieval system (10), the gridded automated storage and retrieval system comprising a frame structure (100) including a 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 along a second direction (Y) perpendicular to the first direction (X), the track system (108, 500) defining a plurality of grid locations ((Xi, Yj)), each grid location being identifiable by a first coordinate (Xi) in the first direction (X) and a second coordinate (Yj) in the second direction (Y), The method includes performing the following steps using a control system (121) that communicates with the vehicle controller in each of the container handling vehicles (201, 301, 401): - Create a model of the orbital system (108, 500) (step 1501), which includes the following steps (1502): - The track system (108, 500) is represented as a finite number of non-overlapping rectangular first blocks formed by grid positions and a finite number of non-overlapping rectangular second blocks formed by grid positions, each first block extending laterally along a first direction (X) and each second block extending longitudinally along a second direction (Y), wherein these blocks are positioned around grid positions (501, 601) that are inaccessible to container handling vehicles (201, 301, 401); - Determine overlap information (step 1503), wherein the overlap information indicates that there are one or more overlapping areas between a block in a finite number of first block groups and a block in a finite number of second block groups in the orbital system; - Determine the grid location block information by determining which block in a finite number of first block groups and / or finite number of second block groups the grid location ((Xi, Yj)) is located for each grid location ((Xi, Yj)). - Wherein, the control system receives a route request (step 1505) from each of at least two container handling vehicles (201, 301, 401) to move from a corresponding first grid position to a corresponding second grid position, and the control system: - Using the model of the track system (108, 500) (step 1501), determine one or more possible routes for at least two container handling vehicles (201, 301, 401) from the corresponding first grid position to the corresponding second grid position (step 1506). - Prioritize and select routes for each container handling vehicle (201, 301, 401) (step 1512), prioritizing routes for container handling vehicles (201, 301, 401) with fewer possible routes, rather than conflicting routes for container handling vehicles (201, 301, 401) with more possible routes, thereby avoiding route conflicts. Specifically, for container handling vehicles with more possible routes and conflicting routes, conflicting routes are excluded from the possible routes, and an alternative route is selected for that container handling vehicle (201, 301, 401); and - Control each container handling vehicle (201, 301, 401) to travel along the selected route.
[0121] 2. According to the method of Clause 1, for three or more container handling vehicles (201, 301, 401) that may have conflicting routes, the routes of the container handling vehicles (201, 301, 401) are sorted and prioritized according to the number of possible routes, wherein the route of the container handling vehicle (201, 301, 401) with the fewest possible routes is ranked first, while the route of the container handling vehicle (201, 301, 401) with the most possible routes is ranked last and given the lowest priority, and a route is selected for the container handling vehicles (201, 301, 401) according to this ranking.
[0122] 3. According to the method of Clause 1, wherein for at least two container handling vehicles (201, 301, 401) each having at least two possible routes, the route with the lowest cost is selected first.
[0123] 4. The method according to any one of Clauses 1 to 3, including: when the first grid position and the second grid position are in the same block and share the same first coordinate (Xi) or the same second coordinate (Yj), using grid position block information to determine that the route is a straight line between the first grid position and the second grid position.
[0124] 5. The method according to any one of Clauses 1 to 4, including: when the first grid position and the second grid position are in the same block and do not share the same first coordinate (Xi) or the same second coordinate (Yj), using grid position block information to determine that the route is a single-turn Manhattan route between the first grid position and the second grid position.
[0125] 6. The method according to any one of Clauses 1 to 5, including: when the first grid position and the second grid position are in different but overlapping blocks, using grid position block information and overlap information to determine that the route is a single-turn Manhattan route between the first grid position and the second grid position.
[0126] 7. The method according to Clause 1 includes generating a block graph including nodes and edges using a first block group, a second block group and overlap information (step 1511), wherein nodes represent a finite number of first block groups and a finite number of second block groups, and edges represent overlap information.
[0127] 8. The method according to Clause 7, including using grid location block information and overlap information to determine that the first grid location and the second grid location are not in the same block and not in overlapping blocks; and
[0128] The route between the first grid position and the second grid position is determined by performing graph traversal and path search algorithms on the block graph.
[0129] 9. According to the method in Clause 8, where the graph traversal and pathfinding algorithms are A algorithm.
[0130] 10. The method according to any one of clauses 1 to 9, wherein representing the orbital system (108, 500) as a first block group and a second block group includes: - Define the grid locations that container handling vehicles (201, 301, 401) cannot enter as blocked grid cells (501, 601), and define the grid cells that container handling vehicles (201, 301, 401) can enter as open grid cells (502) (step 1507). - Determine a first set of non-overlapping rectangular regions (701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715) formed by grid positions (step 1508), each first region extending laterally along a first direction (X), and defining the largest possible continuous open grid cell rectangular region that is not interrupted by at least one blocking grid cell (501, 601); - Determine a second set of non-overlapping rectangular regions (716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727) formed by grid positions (step 1509), each second region extending longitudinally along a second direction (Y), and defining the largest possible continuous open grid cell rectangular region that is not interrupted by at least one blocking grid cell (501, 601); - A finite number of first block groups are determined by removing any region (708, 710, 711) from the first group that falls entirely within a region of the second group (717, 723, 726); and - A finite number of second block groups are determined by removing any region (718, 724, 727) that falls entirely within a region of the first group (707, 709, 715) in the second group (step 1510).
[0131] 11. The method according to Clause 10, wherein the step (1508) of determining the first set of regions comprises: determining a continuous open grid cell segment (502) extending along a first direction (X) and not interrupted by obstructing grid cells (501, 601), each continuous segment having a starting position and a length, the starting position having a first coordinate (Xi), the length being defined by the number of open grid cells (502) not interrupted by obstructing grid cells (501, 601); wherein the largest possible continuous open grid rectangular cell region extending laterally along the first direction (X) and not interrupted by obstructing grid cells (501, 601) and composed of continuous open grid cells (502) comprises a plurality of adjacent continuous segments or a single vertical continuous segment, the plurality of adjacent continuous segments having the same starting position with the first coordinate (Xi) and having The steps (1509) of determining the second set of regions include: determining continuous open grid cell segments (502) extending along the second direction (Y) without being interrupted by blocking grid cells (501, 601), each continuous segment having a starting position and a length, the starting position having a second coordinate (Yj), the length being defined by the number of open grid cells (502) without being interrupted by blocking grid cells (501, 601); wherein the largest possible continuous open grid cell rectangular region extending longitudinally along the second direction (Y) without being interrupted by blocking grid cells (501, 601) and consisting of continuous open grid cells (502) includes multiple adjacent continuous segments or a single horizontal continuous segment, the multiple adjacent continuous segments having the same starting position of the second coordinate (Yi) and having the same length.
[0132] 12. The method according to any one of clauses 1 to 11, wherein the limitation on grid locations inaccessible to container handling vehicles (201, 301, 401) includes: - Determine one or more grid locations ((Xi, Yj)) where at least one physical dimension of the grid locations is smaller than at least one physical dimension of the container handling vehicles (201, 301, 401); and - Identify one or more grid locations (601) as unaccessible to container handling vehicles (201, 301, 401).
[0133] 13. The method according to any one of clauses 1 to 12, wherein the method comprises: - Receive route requests from multiple container handling vehicles (201, 301, 401) from multiple first grid locations to second grid locations; - Using a model of the track system (108, 500), determine the fastest route for each of the multiple container handling vehicles (201, 301, 401) from multiple first grid positions to second grid positions; - Determine the optimal container handling vehicle (201, 301, 401) for moving to the second grid position based on the fastest route of each of the multiple container handling vehicles (201, 301, 401); and - Instruct the optimal container handling vehicle to move to the second grid position.
[0134] 14. The method according to any one of clauses 1 to 13, wherein the method comprises: - Use the timing information of container transport vehicles (201, 301, 401) traveling along the route to determine whether the intersection of the routes at potentially conflicting grid locations ((Xi, Yj)) is conflict-free.
[0135] 15. A system for determining a route for container handling vehicles (201, 301, 401), wherein the route is a route among routes of other container handling vehicles (201, 301, 401), all container handling vehicles operating on a track system (108, 500) of a gridded automated storage and retrieval system (10), the gridded automated storage and retrieval system comprising a frame structure (100) including a 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 along a second direction (Y) perpendicular to the first direction (X), the track system (108, 500) defining a plurality of grid locations ((Xi, Yj)), each grid location being identifiable by a first coordinate (Xi) in the first direction (X) and a second coordinate (Yj) in the second direction (Y); Control system (121), configured to communicate with the vehicle controller in the container handling vehicles (201, 301, 401), wherein control system (121) is configured to: - Create a model of the orbital system (108, 500). This step includes the following steps: - The track system (108, 500) is represented as a finite number of non-overlapping rectangular first blocks consisting of grid positions and a finite number of non-overlapping rectangular second blocks consisting of grid positions, each first block extending longitudinally along a first direction (X) and each second block extending longitudinally along a second direction (Y), wherein these blocks are positioned around grid positions (501, 601) that are inaccessible to container handling vehicles (201, 301, 401); - Determine overlap information, wherein the overlap information indicates that there are one or more overlapping regions between a block in a finite number of first block groups and a block in a finite number of second block groups in the orbital system; and - Grid location block information is determined by identifying which block within a finite number of first block groups and / or finite number of second block groups each grid location ((Xi, Yj)) falls into. - Wherein, upon receiving a route request from each of at least two container handling vehicles (201, 301, 401) to move from a corresponding first grid location to a corresponding second grid location, the control system is configured to: - Using the model of the track system (108, 500) (step 1501), determine one or more possible routes for at least two container handling vehicles (201, 301, 401) from the corresponding first grid position to the corresponding second grid position (step 1506). - Prioritize and select routes for each container handling vehicle (201, 301, 401) (step 1512), prioritizing container handling vehicles (201, 301, 401) with fewer possible routes, rather than conflicting routes of container handling vehicles (201, 301, 401) with more possible routes, thereby avoiding route conflicts. Specifically, for container handling vehicles with more possible routes and conflicting routes, the conflicting route is excluded from the possible routes, and an alternative route is selected for that container handling vehicle (201, 301, 401); and - Control each container handling vehicle (201, 301, 401) to travel along the selected route.
[0136] 16. The system according to Clause 15, wherein, for three or more container handling vehicles (201, 301, 401) that may have conflicting routes, the control system (121) is configured to sort and prioritize the routes of the container handling vehicles (201, 301, 401) according to the number of possible routes, wherein the route of the container handling vehicle (201, 301, 401) with the fewest possible routes is ranked first, while the route of the container handling vehicle (201, 301, 401) with the most possible routes is ranked last and given the lowest priority, and wherein a route is selected for the container handling vehicles (201, 301, 401) according to this sorting.
[0137] 17. The system according to Clause 15, wherein for at least two container handling vehicles (201, 301, 401) each having at least two possible routes, the control system (121) is configured to prioritize the route with the lowest cost.
[0138] 18. A system according to any one of clauses 15 to 17, configured to determine, using grid location block information, 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 block and share the same first coordinate (Xi) or the same second coordinate (Yj).
[0139] 19. A system according to any one of Clauses 15 to 18, configured to determine, using grid location block information, 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 the same block and do not share the same first coordinate (Xi) or the same second coordinate (Yj).
[0140] 20. A system according to any one of clauses 15 to 19, configured to determine, using grid location block information and overlap information, 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 but overlapping blocks.
[0141] 21. A system according to any one of clauses 15 to 20, configured to generate a block graph including nodes and edges using a first block group, a second block group and overlap information (step 1511), wherein nodes represent a finite number of first block groups and a finite number of second block groups, and edges represent overlap information.
[0142] 22. The system pursuant to Clause 21 is configured to use grid location block information and overlap information to determine that the first grid location and the second grid location are not in the same block and are not in overlapping blocks; and
[0143] The route between the first grid position and the second grid position is determined by performing graph traversal and path search algorithms on the block graph.
[0144] 23. In the system according to Clause 22, the graph traversal and pathfinding algorithms are A algorithm.
[0145] 24. A system according to any one of clauses 15 to 23, wherein representing the orbital system (108, 500) as a first block group and a second block group includes: - Define the grid locations that container handling vehicles (201, 301, 401) cannot enter as blocked grid cells (501, 601), and define the grid cells that container handling vehicles (201, 301, 401) can enter as open cells (502) (step 1507). - Determine a first set of non-overlapping rectangular regions (701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715) formed by grid positions (step 1508), each first region extending longitudinally along a first direction (X), and defining the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking grid cell (501, 601); - Determine a second set of non-overlapping rectangular regions (716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727) formed by grid positions (step 1509), each second region extending longitudinally along a second direction (Y), and defining the largest possible continuous open cell rectangular region that is not interrupted by at least one blocking grid cell (501, 601); - Determine a finite number of first block groups by removing any region (708, 710, 711) within a region that falls entirely within the second group of regions (717, 723, 726) from the first group of regions (step 1510); and - A finite number of second block groups are determined by removing any region (718, 724, 727) that falls entirely within a region of the first group (707, 709, 715) in the second group (step 1510).
[0146] 25. The system pursuant to Clause 24, The step (1508) of determining the first group of regions includes determining a continuous open cell segment (502) extending along a first direction (X) without being interrupted by blocking grid cells (501, 601), each continuous segment having a starting position and a length, the starting position having a first coordinate (Xi), the length being defined by the number of open grid cells (502) without being interrupted by blocking grid cells (501, 601); wherein the largest possible continuous open grid cell rectangular region extending longitudinally along the first direction (X) without being interrupted by blocking cells (501, 601) and composed of continuous open grid cells (502) includes multiple adjacent continuous segments or a single vertical continuous segment, the multiple adjacent continuous segments having the same starting position at the first coordinate (Xi) and having the same length; and The step (1509) of determining the second group of regions includes determining a continuous open cell segment (502) extending along the second direction (Y) without being interrupted by blocking cells (501, 601), each continuous segment having a starting position and a length, the starting position having a second coordinate (Yj), the length being defined by the number of open cells (502) without being interrupted by blocking cells (501, 601); wherein the largest possible continuous open grid cell rectangular region extending longitudinally along the second direction (Y) without being interrupted by blocking cells (501, 601) and consisting of continuous open grid cells (502) includes multiple adjacent continuous segments or a single horizontal continuous segment, the multiple adjacent continuous segments having the same starting position of the second coordinate (Yi) and having the same length.
[0147] 26. A system pursuant to any one of clauses 15 to 25, wherein the restrictions on grid locations inaccessible to container handling vehicles (201, 301, 401) include: - Determine one or more grid locations ((Xi, Yj)) where at least one physical dimension of the grid locations is smaller than at least one physical dimension of the container handling vehicles (201, 301, 401); and - Identify one or more grid locations (601) as unaccessible to container handling vehicles (201, 301, 401).
[0148] 27. The system according to any one of clauses 15 to 26 is configured as follows: - Receive route requests from multiple container handling vehicles (201, 301, 401) from multiple first grid locations to second grid locations; - Using a model of the track system (108, 500), determine the fastest route for each of the multiple container handling vehicles (201, 301, 401) from multiple first grid positions to second grid positions; - Determine the optimal container handling vehicle (201, 301, 401) for moving to the second grid position based on the fastest route of each of the multiple container handling vehicles (201, 301, 401); and - Instruct the optimal container handling vehicle to move to the second grid position.
[0149] 28. A computer program product for use in a control system (121) in a system pursuant to Clause 15, wherein the computer program product includes instructions that, when run on the control system (121), perform the methods pursuant to Clauses 1 to 14.
Claims
1. A method (1500) for determining routes for container handling vehicles (201, 301, 401), wherein, The route is a route in at least one other container handling vehicle (201, 301, 401) of a gridded automated storage and retrieval system (10), the gridded automated storage and retrieval system comprising a grid system having a first direction (X) and a second direction (Y) perpendicular to the first direction (X), the grid system defining a plurality of grid locations ((Xi, Yj)), each of the grid locations being identifiable by a first coordinate (Xi) in the first direction (X) and a second coordinate (Yj) in the second direction (Y), the method being used by a control system (121) communicating with a vehicle controller in each of the container handling vehicles (201, 301, 401) and the method comprising the following steps: - Receive route requests from each of at least two container handling vehicles (201, 301, 401) to move from the corresponding first grid location to the corresponding second grid location (step 1505). - Determine one or more possible routes for the at least two container handling vehicles (201, 301, 401) from the corresponding first grid position to the corresponding second grid position (step 1506). - Prioritize and select routes for each of the container handling vehicles (201, 301, 401) (step 1512), wherein container handling vehicles (201, 301, 401) with fewer possible routes are prioritized over conflicting routes of container handling vehicles (201, 301, 401) with more possible routes, thereby avoiding route conflicts. For container handling vehicles with more possible routes and conflicting routes, the conflicting routes are excluded from the possible routes, and an alternative route is selected for that container handling vehicle (201, 301, 401); and - Control each of the container handling vehicles (201, 301, 401) to travel along the selected route.
2. The method according to claim 1, wherein, A model of the grid system is created (step 1501) to represent the grid system as a finite number of non-overlapping rectangular first blocks formed by grid positions and a finite number of non-overlapping rectangular second blocks formed by grid positions (step 1502), each of the first blocks extending laterally along the first direction (X) and each of the second blocks extending longitudinally along the second direction (Y), wherein these blocks are positioned around grid positions (501, 601) that are inaccessible to the container handling vehicles (201, 301, 401); Among them, determining overlap information (step 1503), wherein the overlap information indicates that there are one or more overlapping regions between a block in the finite number of first block groups and a block in the finite number of second block groups in the grid system; Specifically, grid location block information is determined by determining which block in the finite number of first block groups and / or the finite number of second block groups each grid location ((Xi, Yj)) is located in (step 1504). The model is used to determine one or more possible routes for the at least two container handling vehicles (201, 301, 401) from the corresponding first grid position to the corresponding second grid position (step 1506).
3. The method according to claim 1 or claim 2, wherein, The grid system is a track system (108, 500) on which the container handling vehicle runs, wherein the track system (108, 500) includes a first set of parallel tracks (110) arranged along the first direction (X) and a second set of parallel tracks (111) arranged along the second direction (Y), and wherein the gridded automated storage and retrieval system (10) includes a frame structure (100) that includes the track system (108, 500).
4. The method according to any of the preceding claims, wherein, For three or more container handling vehicles (201, 301, 401) that may have conflicting routes, the routes of these container handling vehicles (201, 301, 401) are sorted and prioritized according to the number of possible routes. The route of the container handling vehicle (201, 301, 401) with the fewest possible routes is ranked first, while the route of the container handling vehicle (201, 301, 401) with the most possible routes is ranked last and given the lowest priority. Routes are then selected for the container handling vehicles (201, 301, 401) according to this ranking.
5. The method according to any one of claims 1 to 3, wherein, For at least two container handling vehicles (201, 301, 401) each having at least two possible routes, the route with the lowest cost shall be selected first.
6. The method according to any one of claims 1 to 5, comprising: When the first grid position and the second grid position are in the same block and share the same first coordinate (Xi) or the same second coordinate (Yj), the grid position block information is used to determine that the route is a straight line between the first grid position and the second grid position.
7. The method according to any one of claims 1 to 6, comprising: When the first grid position and the second grid position are in the same block and do not share the same first coordinate (Xi) or the same second coordinate (Yj), the grid position block information is used to determine that the route is a single-turn Manhattan route between the first grid position and the second grid position.
8. The method according to any one of claims 1 to 7, comprising: When the first grid position and the second grid position are in different but overlapping blocks, the grid position block information and the overlap information are used to determine that the route is a single-turn Manhattan route between the first grid position and the second grid position.
9. The method according to any one of the preceding claims, comprising generating a block graph including nodes and edges using the first block group, the second block group, and the overlap information (step 1511), wherein, The node represents the finite number of first block groups and the finite number of second block groups, and the edge represents the overlap information.
10. The method of claim 9, further comprising using the grid location block information and the overlap information to determine that the first grid location and the second grid location are not in the same block and not in overlapping blocks; and The route between the first grid location and the second grid location is determined by performing graph traversal and path search algorithms on the block graph.
11. The method according to claim 10, wherein, The graph traversal and the path search algorithm are A algorithm.
12. The method according to any one of claims 1 to 11, wherein, Representing the orbital systems (108, 500) as the first block group and the second block group includes: The grid locations that the container handling vehicles (201, 301, 401) cannot enter are defined as blocked grid cells (501, 601), and the grid cells that the container handling vehicles (201, 301, 401) can enter are defined as open grid cells (502) (step 1507). Determine a first set of non-overlapping rectangular regions (701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715) formed by grid positions (step 1508), each of the first regions extending laterally along the first direction (X), and defining the largest possible continuous open grid cell rectangular region that is not interrupted by at least one of the blocking grid cells (501, 601); Determine a second set of non-overlapping rectangular regions (716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727) formed by grid positions (step 1509), each of the second regions extending longitudinally along the second direction (Y), and defining the largest possible continuous open grid cell rectangular region that is not interrupted by at least one of the blocking grid cells (501, 601); The finite number of first block groups are determined by removing any region (708, 710, 711) in the first group that falls entirely within a region of the second group (717, 723, 726); and The finite number of second block groups are determined by removing any region (718, 724, 727) in the second group that falls entirely within a region of the first group (707, 709, 715).
13. The method according to claim 12, wherein, The step (1508) of determining the first group of regions includes: determining a continuous open grid cell segment (502) extending along the first direction (X) without being interrupted by blocking grid cells (501, 601), each of the continuous segments having a starting position and a length, the starting position having a first coordinate (Xi), and the length being defined by the number of open grid cells (502) without being interrupted by blocking grid cells (501, 601); wherein the largest possible continuous open grid cell rectangular region extending laterally along the first direction (X) without being interrupted by blocking grid cells (501, 601) and composed of continuous open grid cells (502) includes multiple adjacent continuous segments or a single vertical continuous segment, the multiple adjacent continuous segments having the same starting position at the first coordinate (Xi) and having the same length; and The step (1509) of determining the second group of regions includes: determining a continuous open grid cell segment (502) extending along the second direction (Y) without being interrupted by blocking grid cells (501, 601), each of the continuous segments having a starting position and a length, the starting position having a second coordinate (Yj), and the length being defined by the number of open grid cells (502) without being interrupted by blocking grid cells (501, 601); wherein the largest possible continuous open grid cell rectangular region extending longitudinally along the second direction (Y) without being interrupted by blocking grid cells (501, 601) and consisting of continuous open grid cells (502) includes a plurality of adjacent continuous segments or a single horizontal continuous segment, the plurality of adjacent continuous segments having the same starting position of the second coordinate (Yi) and having the same length.
14. The method according to any one of claims 1 to 13, wherein, The restrictions on grid locations inaccessible to the container handling vehicles (201, 301, 401) include: Determine one or more grid locations ((Xi, Yj)), wherein at least one physical dimension of the one or more grid locations is smaller than at least one physical dimension of the container handling vehicle (201, 301, 401); and The one or more grid locations (601) are identified as locations that the container handling vehicles (201, 301, 401) cannot access.
15. The method according to any one of claims 1 to 14, wherein, The method includes: Receive route requests from multiple container handling vehicles (201, 301, 401) from multiple first grid locations to second grid locations; Using the model of the track system (108, 500), determine the fastest route for each of the plurality of container handling vehicles (201, 301, 401) from the plurality of first grid positions to the second grid position; The optimal container handling vehicle among the plurality of container handling vehicles (201, 301, 401) for moving to the second grid position is determined based on the fastest route of each of the plurality of container handling vehicles (201, 301, 401); and Instruct the optimal container handling vehicle to move to the second grid position.
16. The method according to any one of claims 1 to 16, wherein, The method includes: Using the timing information of the container transport vehicles (201, 301, 401) traveling along the route, it is determined whether the intersection of the route at the potentially conflicting grid location ((Xi, Yj)) is conflict-free.
17. A system for determining routes for container handling vehicles (201, 301, 401), wherein, The route is a route among the routes of other container handling vehicles (201, 301, 401) in the gridded automated storage and retrieval system (10), the gridded automated storage and retrieval system comprising a grid system having a first direction (X) and a second direction (Y) perpendicular to the first direction (X), the grid system defining a plurality of grid locations ((Xi, Yj)), each of the grid locations 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) configured to communicate with a vehicle controller in the container handling vehicles (201, 301, 401), wherein the control system (121) is configured to: Receive route requests from each of at least two container handling vehicles (201, 301, 401) to move from the corresponding first grid position to the corresponding second grid position; Determine one or more possible routes for the at least two container handling vehicles (201, 301, 401) from the corresponding first grid position to the corresponding second grid position (step 1506). The routes for each container handling vehicle (201, 301, 401) are prioritized and selected (step 1512). Priority is given to container handling vehicles (201, 301, 401) with fewer possible routes, rather than conflicting routes of container handling vehicles (201, 301, 401) with more possible routes, thereby avoiding route conflicts. For container handling vehicles with more possible routes and conflicting routes, the conflicting routes are excluded from the possible routes, and an alternative route is selected for that container handling vehicle (201, 301, 401). Control each of the container handling vehicles (201, 301, 401) to travel along the selected route.
18. The system according to claim 17, wherein, The control system (121) is configured to create a model of the grid system in the following manner: The grid system is represented as a finite number of non-overlapping rectangular first blocks formed by grid positions and a finite number of non-overlapping rectangular second blocks formed by grid positions, each of the first blocks extending longitudinally along the first direction (X) and each of the second blocks extending longitudinally along the second direction (Y), wherein these blocks are positioned around grid positions (501, 601) that are inaccessible to the container handling vehicles (201, 301, 401). Determine overlap information, wherein the overlap information indicates that there are one or more overlapping regions between a block in a finite number of first block groups and a block in a finite number of second block groups in the grid system; and The grid location block information is determined by determining which block in the finite number of first block groups and / or the finite number of second block groups the grid location ((Xi, Yj)) is located in for each grid location ((Xi, Yj)); The control system is configured to use the model to determine one or more possible routes for the at least two container handling vehicles (201, 301, 401) from the corresponding first grid position to the corresponding second grid position (step 1506).
19. The system according to claim 17 or claim 18, wherein, The grid system is a track system (108, 500) on which the container handling vehicle runs, wherein the track system (108, 500) includes a first set of parallel tracks (110) arranged along the first direction (X) and a second set of parallel tracks (111) arranged along the second direction (Y), and wherein the gridded automated storage and retrieval system (10) includes a frame structure (100) that includes the track system (108, 500).
20. The system according to any one of claims 17 to 19, wherein, For three or more container handling vehicles (201, 301, 401) that may have conflicting routes, the control system (121) is configured to sort and prioritize the routes of these container handling vehicles (201, 301, 401) according to the number of possible routes, wherein the route of the container handling vehicle (201, 301, 401) with the fewest possible routes is ranked first, while the route of the container handling vehicle (201, 301, 401) with the most possible routes is ranked last and given the lowest priority, and wherein a route is selected for the container handling vehicles (201, 301, 401) according to this sorting.
21. The system according to any one of claims 17 to 20, wherein, For at least two container handling vehicles (201, 301, 401) each having at least two possible routes, the control system (121) is configured to prioritize the route with the lowest cost.
22. The system according to any one of claims 17 to 21, wherein, The system is configured to determine, using the grid location block information, 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 block and share the same first coordinate (Xi) or the same second coordinate (Yj).
23. The system according to any one of claims 17 to 22, wherein, The system is configured to determine, using the grid location block information, 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 the same block and do not share the same first coordinate (Xi) or the same second coordinate (Yj).
24. The system according to any one of claims 17 to 23, wherein, The system is configured to determine, using the grid location block information and the overlap information, 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 but overlapping blocks.
25. The system according to any one of claims 17 to 24, wherein, The system is configured to generate a block graph including nodes and edges using the first block group, the second block group and the overlap information (step 1511), wherein the nodes represent the finite number of first block groups and the finite number of second block groups, and the edges represent the overlap information.
26. The system according to claim 25, wherein, The system is configured to use the grid location block information and the overlap information to determine that the first grid location and the second grid location are not in the same block and are not in overlapping blocks; as well as The route between the first grid location and the second grid location is determined by performing graph traversal and path search algorithms on the block graph.
27. The system according to claim 26, wherein, The graph traversal and the path search algorithm are A algorithm.
28. The system according to any one of claims 17 to 27, wherein, The system is configured to represent the orbital system (108, 500) as the first block group and the second block group in the following manner: The grid locations that the container handling vehicles (201, 301, 401) cannot enter are defined as blocked grid cells (501, 601), and the grid cells that the container handling vehicles (201, 301, 401) can enter are defined as open cells (502) (step 1507). Determine a first set of non-overlapping rectangular regions (701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715) formed by grid positions (step 1508), each of the first regions extending longitudinally along the first direction (X), and defining the largest possible continuous open unit rectangular region that is not interrupted by at least one of the blocking units (501, 601); Determine a second set of non-overlapping rectangular regions (716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727) formed by grid positions (step 1509), each of the second regions extending longitudinally along the second direction (Y), and defining the largest possible continuous open unit rectangular region that is not interrupted by at least one of the blocking units (501, 601); The finite number of first block groups are determined by removing any region (708, 710, 711) in the first group of regions that falls entirely within a region of the second group of regions (717, 723, 726). (Step 1510) as well as The finite number of second block groups is determined by removing any region (718, 724, 727) that falls entirely within a region of the first group of regions (707, 709, 715) in the second group of regions (step 1510).
29. The system according to claim 28, in, Determining the first group of regions (step 1508) includes: determining a continuous open unit segment (502) extending along the first direction (X) without being interrupted by blocking units (501, 601), each of the continuous segments having a starting position and a length, the starting position having a first coordinate (Xi), and the length being defined by the number of open units (502) not interrupted by blocking units (501, 601); wherein, the largest possible continuous open unit rectangular region formed by continuous open units (502) extending longitudinally along the first direction (X) without being interrupted by blocking units (501, 601) includes multiple adjacent continuous segments or a single vertical continuous segment, the multiple adjacent continuous segments having the same starting position at the first coordinate (Xi) and having the same length; and Determining the second group of regions (step 1509) includes: determining a continuous open unit segment (502) extending along the second direction (Y) without being interrupted by blocking units (501, 601), each of the continuous segments having a starting position and a length, the starting position having a second coordinate (Yj), and the length being defined by the number of open units (502) without being interrupted by blocking units (501, 601); wherein the largest possible continuous open unit rectangular region formed by the continuous open units (502) extending longitudinally along the second direction (Y) without being interrupted by blocking units (501, 601) includes a plurality of adjacent continuous segments or a single horizontal continuous segment, the plurality of adjacent continuous segments having the same starting position of the second coordinate (Yi) and having the same length.
30. The system according to any one of claims 17 to 29, wherein, The restrictions on grid locations inaccessible to the container handling vehicles (201, 301, 401) include: Determine one or more grid locations ((Xi, Yj)), wherein at least one physical dimension of the one or more grid locations is smaller than at least one physical dimension of the container handling vehicle (201, 301, 401); and The one or more grid locations (601) are identified as locations that the container handling vehicles (201, 301, 401) cannot access.
31. The system according to any one of claims 17 to 30, wherein, The system is configured as follows: Receive route requests from multiple container handling vehicles (201, 301, 401) from multiple first grid locations to second grid locations; Using the model of the track system (108, 500), determine the fastest route for each of the plurality of container handling vehicles (201, 301, 401) from the plurality of first grid positions to the second grid position; The optimal container handling vehicle among the plurality of container handling vehicles (201, 301, 401) for moving to the second grid position is determined based on the fastest route determined by each of the plurality of container handling vehicles (201, 301, 401). as well as Instruct the optimal container handling vehicle to move to the second grid position.
32. A computer program product for use in the control system (121) of the system according to claim 17, wherein, The computer program product includes instructions that, when run on the control system (121), execute the method according to claims 1 to 17.
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