Patent Description:
Storage and retrieval systems are well known. Vehicles operating these are controlled by a central controller, also called master controller, communicating with controllers in each vehicle.

<FIG> illustrates a typical prior art automated storage and retrieval system <NUM> having a framework structure <NUM> and where container handling vehicles <NUM>, also called robots, are operating the automated storage and retrieval system <NUM> when running on a rail system <NUM> on top of the framework structure <NUM>.

The framework structure <NUM> comprises a plurality of upright members <NUM> and optionally a plurality of horizontal members <NUM> supporting the upright members <NUM>. The members <NUM>, <NUM> may typically be made of metal, e.g. extruded aluminium profiles.

The framework structure <NUM> defines a storage grid <NUM> comprising storage columns <NUM> arranged in vertical rows, in which storage containers <NUM>, also known as bins, are stacked one on top of another to form stacks <NUM>. Each storage container <NUM> may typically hold a plurality of product items.

The automated storage and retrieval system <NUM> comprises a rail system <NUM> for guiding container handling vehicles <NUM>. The rail system <NUM> is arranged in a grid pattern across the top of the storage grid <NUM>. The container handling vehicles <NUM> are running on the rail system <NUM> and are operated to lower and raise storage containers <NUM> into and from the storage columns <NUM> as well as transporting the storage containers <NUM> on the rail system <NUM>. The horizontal extent of a storage column <NUM> is defined by a grid cell <NUM> marked by thick lines in <FIG>. The grid cells <NUM> define the layout of the rail system <NUM>.

The rail system <NUM> comprises a first set of parallel rails <NUM> arranged to guide movement of the container handling vehicles <NUM> in a first direction X across the top of the frame structure <NUM>, and a second set of parallel rails <NUM> arranged perpendicular to the first set of rails <NUM> to guide movement of the container handling vehicles <NUM> in a second direction Y which is perpendicular to the first direction X. In this way, the rail system <NUM> defines grid columns above which the container handling vehicles <NUM> can move laterally above the storage columns <NUM>, i.e. in a plane which is parallel to the horizontal X-Y plane.

Each container handling vehicle <NUM> comprises a vehicle body and a wheel arrangement of eight wheels where a first set of four wheels enable the lateral movement of the container handling vehicles <NUM> in the X direction and a second set of the remaining four wheels enable the lateral movement in the Y direction. One or both sets of wheels in the wheel arrangement can be lifted and lowered, so that the first set of wheels and/or the second set of wheels can be engaged with respective set of rails <NUM>, <NUM>, where this is defined by a controller controlling driving means in the container handling vehicle <NUM> for controlled directional movements of the container handling vehicle <NUM>.

Each container handling vehicle <NUM> further comprises a lifting device (not shown) for vertical transportation of storage containers <NUM>, e.g. raising a storage container <NUM> from, and lowering a storage container <NUM> into, a storage column <NUM>. The lifting device comprises one or more gripping/engaging devices (not shown) adapted for engaging a storage container <NUM>. The gripping/engaging devices can be lowered from the vehicle <NUM> by the lifting device for adjusting the position of the gripping/engaging devices in a third direction Z which is orthogonal the first and second directions X, Y.

Each container handling vehicle <NUM> comprises a storage compartment or space (not shown) for receiving and stowing a storage container <NUM> when transporting the storage container <NUM> across the rail system <NUM>. The storage space may comprise a cavity arranged centrally within the vehicle body, e.g. as is described in <CIT>, Alternatively, the container handling vehicles <NUM> may have a cantilever construction, as is described in <CIT>,.

In a storage grid <NUM>, most of the grid columns are storage columns <NUM>, i.e. grid columns <NUM> where storage containers <NUM> are stored in stacks <NUM>. However, a storage grid <NUM> normally has at least one grid column which is not used for storing storage containers <NUM>, but instead is used by the container handling vehicles <NUM> for dropping off and/or picking up storage containers <NUM> so that they can be transported to a second location (not shown) where the storage containers <NUM> can be accessed from the outside of the storage grid <NUM> or transferred out of or into the storage grid <NUM>. Within the art, such a location is normally referred to as a "port" and the grid column in which the port is located may be referred to as a "delivery column" <NUM>. The drop-off and pick-up ports of the container handling vehicles <NUM> are referred to as the "upper ports of a delivery column" <NUM>. While the opposite end of the delivery column is referred to as the "lower ports of a delivery column".

The storage grids <NUM> in <FIG> comprise two delivery columns <NUM> and <NUM>. The first delivery column <NUM> may for example comprise a dedicated drop-off port where the container handling vehicles <NUM> can drop off storage containers <NUM> to be transported through the delivery column <NUM> and further to an access or a transfer station (not shown), and the second delivery column <NUM> may comprise a dedicated pick-up port where the container handling vehicles <NUM> can pick up storage containers <NUM> that have been transported through the delivery column <NUM> from an access or a transfer station (not shown). Each of the ports of the first and second delivery column <NUM>, <NUM> may comprise a port which is suitable for both pick-up and drop- off storage containers <NUM>.

The second location, where a storage container <NUM> can be accessed from the outside of the storage grid <NUM>, may typically be a picking or a stocking station where product items are removed from or positioned into the storage containers <NUM>. In a picking or a stocking station, the storage containers <NUM> are normally never removed from the automated storage and retrieval system <NUM> but are returned into the storage grid <NUM> once accessed. For transfer of storage containers out of, or into the storage grid <NUM>, there are also lower ports provided in a delivery column. Such lower ports are for example used for transferring storage containers <NUM> to another storage facility (e.g. to another storage grid), directly to a transport vehicle (e.g. a train or a lorry), or to a production facility.

For monitoring and controlling the automated storage and retrieval system <NUM>, the system comprises a central control system (not shown) which typically is computerized and comprises a database for keeping track of the location of the storage containers <NUM> as well as which storage container <NUM> to be handled at any time, i.e. which storage container <NUM> to be retrieved or stored in the storage grid <NUM>. In addition to this, the control system monitors and controls the positions and movements of each container handling vehicle <NUM> operating on the storage grid <NUM>. In this way, each container handling vehicle <NUM> receives movement instructions from the central control system for transporting a specific storage container <NUM> from one location to another location without colliding with each other.

For controlling the traffic flow of the container handling vehicles <NUM> operating on the storage grid <NUM>, the control system must at all time have an updated overview of positions and movements of all container handling vehicles <NUM>.

When a storage container <NUM> stored in the storage grid <NUM> disclosed in <FIG> is to be accessed, a control system may for instance instruct one of the container handling vehicles <NUM> to retrieve the storage container <NUM> from its current location in the storage grid <NUM> and to transport it to or through the first delivery column <NUM>. This operation involves moving the container handling vehicle <NUM> to a grid location above the storage column <NUM> in which the target storage container <NUM> is located, retrieving the storage container <NUM> from the storage column <NUM> using the container handling vehicle's lifting device (not shown), and transporting the storage container <NUM> to the first delivery column <NUM>. If the target storage container <NUM> is located deep within a stack <NUM>, i.e. with one or a plurality of other storage containers stacked above the target storage container <NUM>, the operation will include temporarily moving the storage containers <NUM> above the target storage container <NUM> prior to lifting the target storage container <NUM> from the storage column <NUM>. This step, which is sometimes referred to as "digging" within the art, may be performed with the same container handling vehicle <NUM> that is subsequently used for transporting the target storage container <NUM> to the delivery column, or with one or a plurality of other cooperating container handling vehicles <NUM>. Alternatively, or in addition, the automated storage and retrieval system <NUM> may have container handling vehicles <NUM> specifically dedicated to the task of temporarily removing storage containers <NUM> from a storage column <NUM>. Once the target storage container <NUM> has been removed from the storage column <NUM>, the temporarily removed storage containers <NUM> can be repositioned into the original storage column <NUM> or alternatively be relocated to other storage columns <NUM>.

When a storage container <NUM> is to be stored in the storage grid <NUM>, one of the container handling vehicles <NUM> is instructed to pick up the storage container <NUM> from the second delivery column <NUM>, shown in <FIG>, and to transport it to a grid location above the storage column <NUM> where it is to be stored. After any storage containers <NUM> positioned at or above the target position within the storage column stack <NUM> have been removed, the container handling vehicle <NUM> places the storage container <NUM> at the desired location. The removed storage containers <NUM> may then be lowered back into the storage column <NUM> or relocated to other storage columns <NUM>.

In addition to the storage and retrieval system <NUM> described above with reference to <FIG>, the applicant has also developed a storage and retrieval system where container handling vehicles <NUM> are operating both above and below the storage grid <NUM>. Container handling vehicles operating below the storage grid <NUM> are called drones. A solution including drones improves the efficiency when handling storage containers <NUM> but will require more communication to and from a central control system and all container handling vehicles <NUM>.

The current AutoStore system is controlled by a master controller transmitting operation and movement instructions to all container handling vehicles <NUM> for controlling all movements and operations on a storage and retrieval system <NUM>. For doing so, the master controller will at all time have a total overview of the locations of all vehicles <NUM> operating the storage and retrieval system <NUM> as well as the locations of all storage containers <NUM>. The master controller instructs each vehicle <NUM> to store or retrieve storage containers <NUM>. The current position of each vehicle is continuously communicated from a vehicle <NUM> to the master controller, thus enabling it to control the movements of all vehicles <NUM> on the rail system <NUM> in an optimal way without vehicles <NUM> queuing or colliding.

<CIT> describes controlling of robots running on a rail system of a storage and retrieval system. A centralized controller <NUM> determines movements and routes for each robot based on assigned tasks, i.e. move from current location x, y to new location x1, y1 by following a specified route determined by the controller <NUM>. It is mentioned that the robots can coordinate movement amongst themselves without further details on how this is implemented. This solution is suggested in cases where communication from a central system is lost. The focus is on the centralized controller and how this controls operations of each robot.

Current solutions require continuous radio communication with each container handling vehicle <NUM>. In larger systems, comprising a plurality of vehicles <NUM>, the amount radio communication can be massive and vulnerable to noise etc. Another problem is that the framework structure <NUM> itself may obscure for communication signals. This is particularly a problem if there are container handling vehicles <NUM> operating below the grid <NUM>, i.e. drones.

<NPL>, describes another solution using decision rules for moving an AGV among multiple AGVs on a cell system for avoiding blockings and deadlocks. Since all the AGVs take their decisions individually, rules are used to avoid blockings by forcing AGVs with lower priority to wait or retreat. This solution will however not provide an efficient way of controlling movements of AGVs.

The present invention alleviates said problems by a method and computer program product requiring reduced radio traffic between a master controller and container handling vehicles <NUM> operating on and handling storage containers <NUM> of a storage and retrieval system <NUM>.

By letting all vehicles <NUM> operating a storage and retrieval system <NUM> make autonomous movement decisions, a master controller only needs to assign tasks to the vehicles and each vehicle will choose the best route to follow along the rail system <NUM> from its current position to a destination. This will dramatically reduce the radio communication between each container handling vehicle <NUM> and a master controller as well as the complexity of central processing.

There are however challenges when using vehicles making autonomous movement decisions for movements on a rail system <NUM>. Since a grid <NUM> is dense and other vehicles <NUM> may block the view for a vehicle <NUM>, it is difficult to predict movements of other vehicles <NUM>. With distance sensors, it is easy to follow another vehicle, but it can still be difficult to cross lanes when traffic is dense, and the speed of other vehicles <NUM> is potentially relatively high. This runs the risk that some vehicles are retained, i.e. not being let into a trafficked "main road" from port positions due of high traffic load. These aspects are also addressed and solved by the present invention.

<CIT> describes a system and method for controlling movement of at least one transporting device arranged to transport containers in stacks arranged in a facility, the facility having pathways arranged in a grid-like structure above the stacks, the at least one transporting device being configured to operate on the grid-like structure, the system. A receiving unit is configured to receive information about a product to be returned to a container in a stack, wherein the product is located at a workstation; and a control unit is configured to select a container located in the stacks into which the product is to be placed and instruct a transporting device to move the selected container to a location of the workstation.

<NPL> (<NUM>-<NUM>-<NUM>) describes a taxonomy to classify Puzzle-Based Storage Systems with automated guided vehicles (AGVs) for large loads. They provide a strategy in which each AGV takes its own decision on the next move based on the current system state. There is no preplanning and reservation of paths, but the path is determined 'live'.

The invention is set forth in the independent claims <NUM> and <NUM> and in the dependent claims <NUM> to <NUM>.

The present invention is method, computer program product and system as defined in the main claims and with additional features defined in dependent claims.

More specifically, the invention is defined by a method for autonomous controlling movements of container handling vehicles operating in a storage and retrieval system comprising a grid structure with storage columns and a corresponding rail system above the storage columns for guiding movements of the vehicles adapted for transferring storage containers to and from the storage columns, where each vehicle comprises a vehicle controller connected to driving means and sensors for controlling movements of the vehicle along the rail system relative to movements of other vehicles. The method is characterized in performing the following steps in the vehicle controller of each vehicle:.

The rail layout in the common map is defined according to two-dimensional coordinates corresponding to the grid cells defined by the circumference of the horizontal extent of storage columns of the storage and retrieval system and traffic rules are defined for each grid cell and its corresponding rails.

This means that each grid cell is uniquely defined. Since every vehicle operating the storage and retrieval system are using the same map defining rules for movements, a vehicle controller in each vehicle can control the vehicles along the rail system without colliding with other vehicles.

The map comprises a set of traffic rules for each grid cell and its corresponding rails. Different sets of traffic rules may be used for different grid cells. A common map may for instance define a series of connected cells as a "main road", while cells connected to the "main road" are defined as "side roads". The map may further define some grid cells as only "one-way traffic" in a specific direction. Another rule may be that one or more specified grid cells are not to be used, i.e. no passing or stopping on the grid cell. Yet another rule may be that a grid cell is defined as speed restricted, i.e. only to be passed at a set maximum speed.

When different traffic rules are combined, a detailed common map can be followed by every container handling vehicle operating on the same rail system. Each vehicle will follow the different rules according to their current location.

In addition to the set of common traffic rules, different sets of traffic rules may be applied for certain time slots. In this way a traffic pattern can be changed according to for instance specific needs and time of day.

The current position of each vehicle can be determined in different ways. One way is by determining the position by detecting number of rail crossings passed and in which directions the track crossings are passed from an initial position. The initial position can be acquired by external means detecting the current position of all vehicles, preferably when all vehicles are halted which typically is when starting up the system or resetting it.

As mentioned, one step of the method is synchronizing the vehicle controller of each vehicle to same common clock.

Each vehicle is instructed to move to a specified destination relative to the common map. At the destination, the vehicle will perform tasks such as for instance retrieving or storing a storage container.

When each vehicle has received instructions comprising a destination grid cell, the vehicle controller determines a route to follow from the current position of the vehicle to the specified destination based on the common map. The vehicle controller will plan and make the route according to the traffic rules and distance to other vehicles.

The vehicle controller may adjust and/or change the speed and movements of the vehicle according to the traffic rules, distance to and movements of other vehicles.

The vehicle controller may further adjust and/or change a set route of a vehicle according to the vehicle's current position and distance to and movements of other vehicles.

When all vehicles are synchronized to the same common clock, they are controlled according to the common map and all movements will run smoothly without having to be continuously controlled by a master controller. This will dramatically reduce communication between vehicles and a master controller as well as the complexity of the central processing.

The method according to the invention can be performed in different types of vehicles, such as robots and drones, operating in a storage and retrieval system. It is especially well suited in a system where both robots and drones are cooperating when handling storage containers. Robots are autonomous vehicles operating on top of the storage and retrieval system while drones are autonomous vehicles operating at a level below the vehicles or below the grid structure of the storage and retrieval system.

Vehicles running on the same level must follow the same common map. Since robots and drones are operating on different levels they may follow maps defining different traffic rules.

The invention is further defined by a computer program product comprising instructions that when executed in a processor of a vehicle controller comprised in an autonomous container handling vehicle performs the method described above for handling storage containers in a storage and retrieval system.

The invention is further defined by a system for autonomous controlling movements of container handling vehicles operating in a storage and retrieval system comprising a grid structure with storage columns and a corresponding rail system above the storage columns for guiding movements of the vehicles adapted for transferring storage containers to and from the storage columns, where each vehicle comprises a vehicle controller connected to driving means and sensors for controlling movements of the vehicle along the rail system relative to movements of other vehicles, where the system comprises a master controller adapted for communicating with vehicle controllers in each vehicle.

Embodiments of the invention will now be described in greater detail and by way of example only with reference to the figures where:.

As described above with reference to <FIG>, vehicles operating in prior art storage and retrieval system are controlled by a master controller having a total overview of movements of all vehicles at any time. In larger systems with a plurality of vehicles, having this total overview requires massive continuous communication between the master controller and the vehicles making signals prone to disturbances and possible through loss of signals.

The present invention addresses and solves this problem by a method, system and computer program product enabling each vehicle to control its own movements relative to movements of other vehicles.

<FIG> illustrates the different steps performed in the method for autonomous controlling movements of vehicles running on rails in a grid system <NUM>.

As described above, the container handling vehicles <NUM> operate in a storage and retrieval system <NUM> comprising a grid structure with grid cells <NUM> and corresponding rail system <NUM> for guiding movements of the vehicles for transferring storage containers to and from the grid cells <NUM>. Each vehicle <NUM> comprises a vehicle controller <NUM> (ref. <FIG>) connected to driving means <NUM> and sensors <NUM> for controlling movements of the vehicle <NUM> along the rail system <NUM> relative to movements of other vehicles <NUM>. The vehicle controller <NUM> are signal connected to a master controller <NUM> for exchanging information.

According to the invention, the method for autonomous controlling movements <NUM> of vehicles <NUM> comprises different steps performed in the vehicle controller <NUM> of each vehicle <NUM>.

The first step <NUM> is using a map defining rail layout and traffic rules for the rail system <NUM>. Each vehicle will be provided with the same map with information of rail layout of the storage and retrieval system and the same traffic rules defining where and when vehicles can move on the rails. Examples of traffic rules will be described below with reference to <FIG>.

The map can be provided to each vehicle <NUM> in different ways. When setting up a new storage and retrieval system each vehicle operating on the system may have the map pre-installed in a non-volatile memory connected to its controller. Updated versions of the map may be transmitted to and installed in each vehicle <NUM> after they are operative.

In addition to track layout of the rail system <NUM> and traffic rules for each grid cell <NUM>, the common map also defines time slots for each grid cell <NUM> defining time intervals where different traffic rules are valid for each grid cell <NUM>. Each time slot can define "virtual traffic lights" for movements on each grid cell <NUM>, e.g. a "green traffic light" means that a vehicle <NUM> can move, while a "red traffic light" means that a vehicle <NUM> must wait. For this to work all vehicles must operate according to same time reference, i.e. a common clock.

The second step <NUM> of the method is to synchronize clocks in vehicle controllers <NUM> of each vehicle according to a common clock. When said first <NUM> and second steps <NUM> are executed, all vehicles <NUM> are prepared for normal operation and for receiving instructions comprising information adapted for each vehicle, e.g. which grid cell <NUM> to move to and which task to perform. The task may for instance be to pick up a specific storage container <NUM> stored in a storage column <NUM> corresponding to the grid cell <NUM> it is instructed to move to.

The next steps are repeated and performed during normal operation, that is when all vehicle controllers <NUM> have been provided with the common map and their clocks are synchronized.

During normal operation each vehicle controller <NUM> will receive instructions from the master controller <NUM> comprising which destination grid cell <NUM> it shall move to and which operation it shall perform. This is illustrated by step <NUM> in <FIG>. When a vehicle controller <NUM> has received this information, the next step <NUM> is letting the vehicle controller <NUM> in the vehicle <NUM> determine the route the vehicle <NUM> shall take on the rail system <NUM> from its current location to the destination grid cell <NUM>. All movements along the tracks are made according to the common map. During its movements along the tracks it is constantly checked, ref. step <NUM>, if other vehicles are too close or will become to close and whether it should stop. How close a vehicle is to another vehicle can be determined by distance sensors installed in the vehicle. By constantly detecting and updating current distance to other vehicles <NUM>, their movements can be determined, e.g. how fast they are running, if they are moving away from or towards the determined route of the vehicle <NUM>.

If it is decided that it must stop, step <NUM> is re-entered, and a route is once again determined. This may be a new route or the same route that the vehicle <NUM> previously followed and where the same route has been cleared after the stop.

If it is decided that the vehicle <NUM> can follow a determined route to the destination grid cell <NUM> without stopping, ref. step <NUM>, the vehicle controller <NUM> will control the vehicle <NUM> to drive to the destination grid cell <NUM> and perform its instructed operation. It is then ready to receive new instructions or plan a new route to another destination grid cell <NUM> according to previously received instructions.

When each container handling vehicle <NUM> comprises a synchronized controller (with clocks synchronized to same common clock) and sensor means for determining its position and distance to other container handling vehicles <NUM> and is controlled according to the same common map defining traffic rules, the vehicles will move safely without having to be controlled by an external master controller.

Drones operating below the storage and retrieval system <NUM> have no digging activities and typically have a less dense grid. A set of traffic rules for drones may therefore be simpler than traffic rules defined for vehicles <NUM> operating on top of the storage and retrieval system. When using both vehicles <NUM> and drones for operating a storage and retrieval system, radio access points are provided both above and below the grid structure. By using vehicles controlled according to the method described above, less radio access points are required due to less need for communication between a master controller and the vehicles.

The virtual time slot-based "traffic lights" and traffic rules in the common map will allow for autonomous traffic decisions of each vehicle <NUM> when moving from its current location to a destination grid cell <NUM>. This does not require communication with a central controller or other vehicles. The route each vehicle shall take to a destination point is determined by the vehicle controller <NUM> in each vehicle <NUM>. Guiding the vehicles along the tracks does therefore not require continuous communication with the master controller <NUM> or with other vehicles.

When a vehicle <NUM> has arrived at its destination, it will report to the master controller <NUM> and is then ready to receive new instruction, e.g. the next destination and task to perform.

The invention is further defined by a computer program product comprising instructions that when executed in a processor of a vehicle controller <NUM> comprised in an autonomous vehicle <NUM> performs the method described above for controlling movements of container handling vehicles <NUM> in a storage and retrieval system <NUM>.

<FIG> illustrates an example of movements of vehicles <NUM> according to a central map defining traffic rules. Different traffic rules may be applied to each grid cell <NUM>, e.g. speed limits; that a vehicle <NUM> can pass the grid cell <NUM> but not stop on it; that a vehicle can only pass in a defined direction, etc..

The map only shows a part of the rail system <NUM> on top of each grid cell <NUM> on top of the grid <NUM> of the retrieval and storage system <NUM>. Each vehicle <NUM> in the figure is a container handling vehicle <NUM> identified by a number, i.e. <NUM> to <NUM>. The map shows a series of grid cells <NUM> defined as a "Main Road" in each x-direction. This means that these grid cells <NUM> are used as the main transport route for the container handling vehicles <NUM>.

Vehicles <NUM> marked as <NUM>, <NUM>, <NUM> and <NUM> are driving on the main transport route, i.e. the "Main Road". Since traffic rules are applied to each grid cell <NUM> at specific time slots, a specific time slot will define "traffic lights" for the grid cells <NUM> and thus the traffic situation for vehicles <NUM>.

To access the "Main Road", vehicles <NUM> marked as <NUM>, <NUM>, <NUM> and <NUM> located above port positions will need a time slot having a "green traffic light" for entering a grid cell <NUM> on the main road by moving in the y-direction and the grid cell <NUM> they are moving to must not be occupied by another vehicle <NUM>.

The figure illustrates one specific time slot where vehicle <NUM> has a "green traffic light" for moving in the y-direction onto the grid cell <NUM> on the "Main Road" while vehicles <NUM> and <NUM> already moving one the "Main Road" has a "red traffic light" and must stop on their current grid cell <NUM>. Vehicle <NUM> can then move onto the "Main Road".

Vehicles <NUM> and <NUM> are currently busy with operations at their port positions and are thus not moving on the rails even if they have "green traffic lights". When the vehicles <NUM> and <NUM> are ready to move to another grid cell <NUM>, they must first wait for a time slot having "green traffic light" in the direction they are to drive.

<FIG> illustrates that each vehicle <NUM> comprises a vehicle controller <NUM> connected to driving means <NUM> and sensors <NUM> for autonomous controlling of movements of container handling vehicles. Each vehicle controller <NUM> is in communication with a master controller <NUM> for receiving operation instructions and for responding to the operation instructions.

According to the present invention, vehicles <NUM> operating in a storage and retrieval system <NUM> each receive a command from a master controller <NUM> comprising a grid cell <NUM> the vehicle <NUM> shall move to without any further information about which route or speed to follow. Based on the common map defining traffic rules and its distance sensors, each vehicle <NUM> makes its own decisions about which route to follow and at which speed. A vehicle can change or optimize its current route on its way to the destination position, e.g. grid cell <NUM>. A new route may be planned if a current route is blocked. All vehicles will move safely when their vehicle controllers are time synchronized, follow the same common map which defines the traffic rules for each grid cell <NUM> and when they are using the distance sensors for continuously updating current distance to other vehicles <NUM>.

Claim 1:
A method for autonomous controlling movements of container handling vehicles (<NUM>) operating in a storage and retrieval system (<NUM>) comprising a grid structure with storage columns (<NUM>) and a corresponding rail system (<NUM>) above the storage columns (<NUM>) for guiding movements of the vehicles (<NUM>) adapted for transferring storage containers (<NUM>) to and from the storage columns (<NUM>), where each vehicle (<NUM>) comprises a vehicle controller (<NUM>) connected to driving means (<NUM>) and sensors (<NUM>) for controlling movements of the vehicle (<NUM>) along the rail system (<NUM>) relative to movements of other vehicles (<NUM>), where the method comprises performing the following steps in the vehicle controller (<NUM>) of each vehicle (<NUM>):
a) using a map defining rail layout and traffic rules for all the container handling vehicles (<NUM>) operating on the storage and retrieval system (<NUM>), wherein the rail layout is according to two-dimensional coordinates corresponding to grid cells (<NUM>) defined by the circumference of the horizontal extent of storage columns (<NUM>) of the storage and retrieval system (<NUM>), and the traffic rules define where and when vehicles (<NUM>) can move on the rail system (<NUM>),
b) synchronizing the vehicle controller (<NUM>) to a clock common for all vehicles (<NUM>);
c) receiving an instruction from a master controller (<NUM>) instructing the vehicle (<NUM>) to move to a specified destination on the rail system (<NUM>) relative to the map;
d) letting the vehicle controller (<NUM>) determine a route to follow on the rail system (<NUM>) from a current position of the vehicle (<NUM>) to the specified destination based on the map, the traffic rules, distance to other vehicles (<NUM>) and movements of the other vehicles (<NUM>);
e) controlling the movements of the vehicle (<NUM>) along the rails system (<NUM>) from its current position to the specified destination according to the determined route, and
f) repeating steps d) and e) until the vehicle (<NUM>) has reached the specified destination.