# US 12,595,126 B2 · Controller and method for transporting devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,595,126 B2
- Document ID: US12595126B2
- Status: Granted
- Kind: B2
- Application number: 18/005,471
- Filed: 2021-07-15
- Published: 2023-08-24
- Granted: 2026-04-07
- Earliest claimed: 2020-07-16
- Assignees: Ocado Innovation Limited
- Applicants: Ocado Innovation Limited
- Inventors: Robert Stadie; Andrzej Czarny; Thomas Oliver; Gareth Siret; Christopher Richard James Brett
- Web page: https://patentgrep.com/patent/US12595126B2

## CPC

- B65G 1/1373: {for fulfilling orders in warehouses}
- G05B 19/4189: {characterised by the transport system}
- B65G 1/0464: {with access from above}
- G05D 1/0289: {with means for avoiding collisions between vehicles (vehicle fittings for automatically controlling speed including means for detecting potential obstacles B60K31/0008; avoiding obstacles by action on the steering system B62D; radar, sonar, lidar systems designed for anti-collision purposes G01S13/93, G01S15/93, G01S17/93)}
- G06Q 10/047: Optimisation of routes or paths, e.g. travelling salesman problem
- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- B65G: TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS (packaging B65B; handling thin or filamentary materials, e.g. paper sheets or thread, B65H; cranes B66C; portable mobile or lifting or hauling appliances, e.g. hoists, B66D; devices for lifting or lowering goods for loading or unloading purposes, e.g. fork-lift trucks, B66F9/00; emptying bottles, jars, casks, barrels or similar containers, not otherwise provided for, B67C9/00; delivering or transferring liquids B67D; filling or discharging vessels for liquefied, solidified or compressed gases F17C; pipe-line systems for fluids F17D)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

A controller is provided to control movement of a plurality of transporting devices. In particular, the controller provides improved robot shunting. More specifically, the controller delays the planning of a shunt path for an idle robot until closer to the time the idle robot needs to move out of the way. Advantageously this avoids the computing burden of planning shunts in advance that are never performed because the idle robot is subsequently tasked before the shunt were due to start. In particular, shunt paths can be planned very close to the time at which they need to be executed thereby providing a more efficient solution to robot shunting because very close to the execution time there is a very small probability that the plan will change in a way that the shunt needs to be recalculated.

## Claims

### Claim 1

A controller configured to control movement of a plurality of transporting devices, the controller comprising:
a route determination unit configured to determine a plurality of routes from one location on a grid-like structure to another location on the grid-like structure for a first transporting device;
a waypoint generation unit configured to generate at least one leg for each of the plurality of routes determined by the route determination unit;
a shunt calculation unit configured to calculate a shunt path for a second transporting device so as to shunt the second transporting device, wherein the shunt path is calculated at a predetermined time before which the second transporting device must commence movement to permit an uninterrupted passage of the first transporting device; and
a clearance unit configured to provide clearance for the first transporting device to traverse a leg of a determined route,
wherein the controller is configured to control the first transporting device to traverse the at least one leg of the determined route, wherein a portion of the at least one leg includes the uninterrupted passage.

### Claim 2 (depends on 1)

The controller according to claim 1, wherein the shunt calculation unit is configured to calculate the shunt path for the second transporting device at a predetermined time before the first transporting device reaches a current position of the second transporting device.

### Claim 3 (depends on 1)

The controller according to claim 1, wherein the shunt calculation unit configured to calculate the shunt path for the second transporting device whilst the first transporting device is moving in a leg immediately before a leg in which the second transporting device is located.

### Claim 4 (depends on 1)

The controller according to claim 1, wherein the shunt calculation unit is configured to calculate the predetermined time before which the shunt path is calculated for the second transporting device; and
wherein the predetermined time is calculated by considering a probability that a shunt solution is pre-calculated and is evaluated by relative costs of a value of delaying a decision to make a shunt move compared with costs of having to re-plan a larger number of transporting device routes over a representative period of work.

### Claim 5 (depends on 4)

The controller according to claim 4, wherein costs considered comprise at least one or more of:
grid throughput in terms of orders per hour,
operator productivity in terms of items picked per hour, and/or
transporting device productivity in terms of orders per transporting device per hour.

### Claim 6 (depends on 4)

The controller according to claim 4, wherein costs considered comprise at least one or more of:
minimising a number of transporting devices for a required throughput, and/or
minimising a number of operators for a required throughput.

### Claim 7 (depends on 4)

The controller according to claim 4, wherein costs are determined using a Monte Carlo simulation over a predetermined time period.

### Claim 8 (depends on 7)

The controller according to claim 7, wherein the Monte Carlo simulation is based on at least digital twin simulations including statistically sampled system factors including: more than one possible stock-holding scenarios including positioning of containers, quantities of stock keeping units, quantities of items of each stock keeping unit; and at least one of: possible ranges in variations in orders being picked including items and quantities, possible ranges in variations in orders being decanted, possible ranges in variations in pick-times and possible ranges in variations in decant-times; where the digital twin simulations are repeated many times with randomly selected values from the statistically varying parameters and the parameter value is determined to maximise one of: grid throughput in terms of orders per hour, operator productivity in terms of items picked per hour, or transporting device productivity in terms of orders per transporting device per hour; or minimise one of the number of transporting devices for a required throughput or the number of operators for a required throughput.

### Claim 9 (depends on 1)

The controller according to claim 1, wherein each of the plurality of routes determined by the route determination unit includes a start time for each route.

### Claim 10 (depends on 9)

The controller according to claim 9, wherein the start time for each route is less than a predetermined future maximum time.

### Claim 11 (depends on 1)

A storage system in combination with a controller according to claim 1, the storage comprising:
a first set of parallel rails or tracks extending in an X-direction, and a second set of parallel rails or tracks extending in a Y-direction transverse to the first set in a substantially horizontal plane to form a grid pattern including a plurality of grid spaces;
a plurality of stacks of containers located beneath the rails, and arranged such that each stack is located within a footprint of a single grid space; and
a plurality of transporting devices each arranged to selectively move in the X and/or Y directions, above the stacks on the rails and arranged to transport a container.

### Claim 12 (depends on 11)

The storage system according to claim 11, wherein the at least one transporting device has a footprint that occupies only a single grid space in the storage system, such that a transporting device occupying one grid space does not obstruct a transporting device occupying or traversing adjacent grid spaces in the X and/or Y directions.

### Claim 13 (depends on 11)

The storage system according to claim 11, comprising:
a picking station arranged to receive a container transported by the at least one transporting device; and
wherein the picking station is arranged for operation by an operator to pick items from one container to another container so as to form orders.

### Claim 14

A method for controlling movement of a plurality of transporting devices, the method comprising:
(1) determining a plurality of routes from one location on a grid-like structure to another location on the grid-like structure for a first transporting device;
(2) generating at least one leg for each of the plurality of routes determined by the determining step;
(3) calculating a shunt path for a second transporting device so as to shunt the second transporting device, wherein the shunt path is calculated at a predetermined time before which the second transporting device must commence movement to permit uninterrupted passage of the first transporting device;
(4) providing clearance for the first transporting device to traverse a leg of a determined route; and
(5) controlling the first transporting device to traverse the at least one leg of the determined route, wherein a portion of the at least one leg includes the uninterrupted passage.

### Claim 15 (depends on 14)

The method according to claim 14, wherein the calculating step calculates the shunt path for the second transporting device at a predetermined time before the first transporting device reaches a current position of the second transporting device.

### Claim 16 (depends on 14)

The method according to claim 14, wherein the calculating step calculates the shunt path for the second transporting device whilst the first transporting device is moving in a leg immediately before a leg in which the second transporting device is located.

### Claim 17 (depends on 14)

The method according to claim 14, wherein the calculating step calculates the predetermined time before which the shunt path is calculated for the second transporting device; and
wherein the predetermined time is calculated by considering a probability that a shunt solution is pre-calculated and is evaluated by relative costs of a value of delaying a decision to make a shunt move compared with costs of having to re-plan a larger number of transporting device routes over a representative period of work.

### Claim 18 (depends on 17)

The method according to claim 17, wherein costs considered comprise at least one or more of:
grid throughput in terms of orders per hour,
operator productivity in terms of items picked per hour, and/or
transporting device productivity in terms of orders per transporting device per hour.

### Claim 19 (depends on 17)

The method according to claim 17, wherein costs considered comprise at least one or more of:
minimising a number of transporting devices for a required throughput, and/or
minimising a number of operators for a required throughput.

### Claim 20 (depends on 17)

The method according to claim 17, comprising:
determining costs using a Monte Carlo simulation over a predetermined time period.

### Claim 21 (depends on 20)

The method according to claim 20, wherein the Monte Carlo simulation is based on at least digital twin simulations including statistically sampled system factors including: more than one possible stock-holding scenarios including positioning of containers, quantities of stock keeping units, quantities of items of each stock keeping unit; and at least one of: possible ranges in variations in orders being picked including items and quantities, possible ranges in variations in orders being decanted, possible ranges in variations in pick-times and possible ranges in variations in decant-times; where the digital twin simulations are repeated many times with randomly selected values from the statistically varying parameters and the parameter value is determined to maximise one of: grid throughput in terms of orders per hour, operator productivity in terms of items picked per hour, or transporting device productivity in terms of orders per transporting device per hour; or minimise one of the number of transporting devices for a required throughput or the number of operators for a required throughput.

### Claim 22 (depends on 14)

The method according to claim 14, wherein each of the plurality of routes determined by the route determination unit includes a start time for each route.

### Claim 23 (depends on 22)

The method according to claim 22, wherein the start time for each route is less than a predetermined future maximum time.
