Determining an exclusion zone in the working space of a conveying device

JP7686888B2Active Publication Date: 2025-06-02OCADO INNOVATION LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024531347
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-11-26
Filing Date
2022-11-25
Publication Date
2025-06-02
Estimated Expiration
2042-11-25

AI Technical Summary

Technical Problem

Existing storage and fulfillment systems face challenges in efficiently managing large numbers of product lines and small quantity items, such as perishables, due to space constraints and inefficiencies in stacking and retrieval methods, particularly when communication with load handling devices is lost or devices become misaligned with the grid structure.

Method used

Implementing a method and system for determining exclusion zones in the workspace using ultra-wide-angle cameras and neural networks to accurately map and monitor the location of transport devices, allowing for real-time detection and prevention of collisions and misalignments, thereby ensuring safe and efficient operation.

Benefits of technology

Enables reliable determination of transport device locations, reduces collisions, and maintains system efficiency by preventing devices from entering exclusion zones, thus ensuring the workspace remains usable and operational.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000033_0000
    Figure 00000033_0000
  • Figure 00000034_0000
    Figure 00000034_0000
  • Figure 00000035_0000
    Figure 00000035_0000
Patent Text Reader

Abstract

A method and system for assisting in controlling the movement of one or more transport devices operating in a workspace. The method involves obtaining an image representation of the workspace captured by one or more image sensors and a target image portion of the image representation of the workspace. The target image portion is mapped to a target location in the workspace. An exclusion zone in the workspace comprising the target location is determined based on the mapping. The exclusion zone in the workspace is for prohibiting entry of one or more transport devices. Exclusion zone data representative of the exclusion zone is output to a control system for implementing the exclusion zone in the workspace.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to the field of storage or fulfillment systems in which stacks of bins or containers are arranged within a grid framework structure, and more particularly to controlling the movement of one or more transport devices operating within the workspace of the storage or fulfillment system. [Background technology]

[0002] Online retail businesses that sell multiple product lines, such as online grocery stores and supermarkets, require systems that can store tens or even hundreds of thousands of different product lines. In such cases, the use of single-product stacks may not be practical as a huge amount of floor space would be required to accommodate all of the required stacks. Additionally, it may be desirable to store small quantities of some items, such as perishable or infrequently ordered goods, making single-product stacks an inefficient solution.

[0003] International Patent Application No. WO98 / 049076A (Autostore), the contents of which are incorporated herein by reference, describes a system in which a multi-product stack of containers is arranged within a frame structure.

[0004] PCT Publication No. WO2015 / 185628A (Ocado) describes a further known storage and fulfillment system in which stacks of containers are arranged within a grid framework structure. The containers are accessed by one or more load handling devices, sometimes known as "bots", operable on trucks on top of the grid framework structure. A system of this type is shown diagrammatically in Figures 1 to 3 of the accompanying drawings.

[0005] As shown in Figures 1 and 2, stackable containers 10, also known as "bins," are stacked on top of one another to form a stack 12. The stacks 12 are arranged in a grid framework structure 14, for example in a warehousing or manufacturing environment. The grid framework structure 14 consists of a number of storage or grid rows. Each grid in the grid framework structure has at least one grid row for storing a stack of containers. Figure 1 is a schematic perspective view of the grid framework structure 14, and Figure 2 is a schematic top-down view showing a stack 12 of bins 10 arranged within the framework structure 14. Each bin 10 typically holds multiple product items (not shown). The product items in the bins 10 can be of the same or different product types, depending on the application.

[0006] The grid framework structure 14 comprises a plurality of upright members 16 supporting horizontal members 18, 20. A first set of parallel horizontal grid members 18 are arranged in a grid pattern at right angles to a second set of parallel horizontal members 20 to form a horizontal grid structure 15 supported by the upright members 16. The members 16, 18, 20 are typically fabricated from metal. The bins 10 are stacked between the members 16, 18, 20 of the grid framework structure 14 such that the grid framework structure 14 guards against horizontal movement of the stack 12 of bins 10 and guides vertical movement of the bins 10.

[0007] The top level of the grid framework structure 14 comprises a grid or grid structure 15 including rails 22 arranged in a grid pattern across the top of the stacks 12. With reference to FIG. 3, the rails or tracks 22 guide a plurality of load handling devices 30. A first set 22a of parallel rails 22 guides movement of the robotic load handling devices 30 in a first direction (e.g., X direction) across the top of the grid framework structure 14. A second set 22b of parallel rails 22, arranged perpendicular to the first set 22a, guides movement of the load handling devices 30 in a second direction (e.g., Y direction) perpendicular to the first direction. In this manner, the rails 22 allow the robotic load handling devices 30 to move laterally in two dimensions in the horizontal XY plane. The load handling devices 30 can be moved to a position above any of the stacks 12.

[0008] A known form of load handling device 30, shown in Figures 4, 5, 6A and 6B, is described in PCT Patent Publication No. WO2015 / 019055 (Ocado), which is incorporated herein by reference, with each load handling device 30 covering a single grid space 17 of the grid framework structure 14. This configuration allows for a higher density of load handlers and therefore a higher throughput for a storage system of a given size.

[0009] The exemplary load handling device 30 comprises a vehicle 32 that is positioned to roll on the rails 22 of the frame structure 14. A first set of wheels 34, consisting of a pair of wheels 34 at the front of the vehicle 32 and a pair of wheels 34 at the rear of the vehicle 32, are positioned to engage two adjacent rails of the first set 22a of the rails 22. Similarly, a second set of wheels 36, consisting of a pair of wheels 36 on each side of the vehicle 32, are positioned to engage two adjacent rails of the second set 22b of the rails 22. At any time during the movement of the load handling device 30, each set of wheels 34, 36 can be raised and lowered such that either the first set of wheels 34 or the second set of wheels 36 are engaged with the respective set of rails 22a, 22b. For example, when the first set of wheels 34 is engaged with the first set of rails 22a and the second set of wheels 36 is lifted off the rails 22, the first set of wheels 34 may be driven by a drive mechanism (not shown) housed in the vehicle 32 to move the load handling device 30 in the X direction. To achieve movement in the Y direction, the first set of wheels 34 is lifted off the rails 22 and the second set of wheels 36 is lowered to engage the second set 22b of the rails 22. The drive mechanism may then be used to drive the second set of wheels 36 to move the load handling device 30 in the Y direction.

[0010] The load handling device 30 is equipped with a lifting mechanism, e.g., a crane mechanism, for lifting the storage container from above. The lifting mechanism comprises a winch tether or cable 38 wound on a spool or reel (not shown) and a gripper device 39. The lifting mechanism shown in FIG. 5 comprises a set of four vertically extending lifting tethers 38. The tethers 38 are connected at or near each of the four corners of the gripper device 39, e.g., a lifting frame, for releasable connection to the storage container 10. For example, each tether 38 is disposed at or near each of the four corners of the lifting frame 39. The gripper device 39 is configured to releasably grip the top of the storage container 10 to lift it from a stack of containers in a storage system 1 of the type shown in FIGS. 1 and 2. For example, the lifting frame 39 may include a pin (not shown) that mates with a corresponding hole (not shown) in a rim that forms the top surface of the bin 10 and a sliding clip (not shown) that is engageable with the rim to grip the bin 10. The clips are housed within a lifting frame 39 and are driven into engagement with the bins 10 by a suitable drive mechanism powered and controlled by signals carried through the cable 38 itself or a separate control cable (not shown).

[0011] To remove a bin 10 from the top of the stack 12, the load handling device 30 is first moved in the X and Y directions to position the gripper device 39 above the stack 12. The gripper device 39 is then lowered vertically in the Z direction to engage the bin 10 at the top of the stack 12, as shown in Figures 4 and 6B. The gripper device 39 grips the bin 10 and is then pulled upwards by the cable 38 with the bin 10 attached. At the top of its vertical travel, the bin 10 is held on the rail 22 housed within the vehicle body 32. In this way, the load handling device 30, carrying the bin 10 with it, can be moved to different positions in the XY plane to transport the bin 10 to another location. Upon arriving at the target location (e.g., another stack 12, an access point in a storage system, or a conveyor belt), the bin or container 10 can be lowered from the container receiving portion and released from the grabber device 39. The cable 38 is long enough to allow the load handling device 30 to pick and place bins from any level of the stack 12, including, for example, floor level.

[0012] As shown in Fig. 3, multiple equivalent load handling devices 30 are provided such that each load handling device 30 can operate simultaneously to increase the throughput of the system. The system shown in Fig. 3 may include specific locations, known as ports, where bins 10 can be transferred into or out of the system. An additional conveyor system (not shown) is associated with each port such that bins 10 transported to a port by a load handling device 30 can be transferred by that conveyor system to another location, such as a picking station (not shown). Similarly, bins 10 can be moved by a conveyor system from an external location to a port, for example, to a bin filling station (not shown), and transported by a load handling device 30 to a stack 12 to replenish the stock in the system.

[0013] Each load handling device 30 is capable of lifting and moving one bin 10 at a time. The load handling device 30 has a container receiving cavity or recess 40 in its lower portion. The recess 40 is sized to accommodate the container 10 when it is lifted by the lifting mechanisms 38, 39, as shown in Figures 6A and 6B. When in the recess, the container 10 is lifted off the lower rail 22 to allow the vehicle 32 to move laterally to a different grid location.

[0014] If it is necessary to remove a bin 10b that is not at the top of a stack 12 (the "target bin"), the bins 10a above (the "non-target bins") must first be moved to allow access to the target bin 10b. This is accomplished by an operation hereinafter referred to as "digging." With reference to FIG. 3, during a digging operation, one of the load handling devices 30 successively lifts each non-target bin 10a from the stack 12 containing the target bin 10b and places it in an open position in another stack 12. The target bin 10b can then be accessed by the load handling device 30 and moved to a port for further transport.

[0015] Each load handling device 30 is remotely operable under the control of a central computer, e.g., a master controller, and each individual bin 10 in the system is tracked so that the appropriate bin 10 can be removed, transported, and replaced as needed. For example, during a dig operation, each non-target bin location is logged so that the non-target bins 10a can be tracked.

[0016] Wireless communications and networks may be used to provide a communications infrastructure from the master controller, for example, via one or more base stations, to one or more load handling devices 30 operable on the grid structure 15. In response to receiving instructions from the master controller, a controller in the load handling device 30 is configured to control various drive mechanisms to control movement of the load handling device. For example, the load handling device 30 may be commanded to retrieve a container from a target storage row at a specific location on the grid structure 15. The instructions may include various movements in the XY plane of the grid structure 15. As previously described, upon reaching the target storage row, the lifting mechanisms 38, 39 may be operated to grasp and lift the storage container 10. Once the container 10 is received in the container receiving space 40 of the load handling device 30, the container 10 is then transported to another location on the grid structure 15, for example, a "drop-off port." At the drop-off port, the container 10 is lowered to a suitable pick station to enable retrieval of any items in the storage container. Movement of the load handling device 30 on the grid structure 15 may also involve the load handling device 30 being commanded to move to a charging station, typically located on the periphery of the grid structure 15.

[0017] To move the load handling devices 30 on the grid structure 15, each of the load handling devices 30 is equipped with a motor for driving the wheels 34, 36. The wheels 34, 36 may be driven via one or more belts connected to the wheels or individually driven by motors integrated into the wheels. In the case of single-cell load handling devices (where the footprint of the load handling device 30 occupies a single grid cell 17), the motors for driving the wheels may be integrated into the wheels due to the limited availability of space within the vehicle body. For example, the wheels of the single-cell load handling devices 30 are driven by respective hub motors. Each hub motor comprises an outer rotor with multiple permanent magnets arranged to rotate about a wheel hub with a coil forming an inner stator.

[0018] 1-6B has many advantages and is suitable for a wide range of storage and retrieval operations. In particular, it allows for extremely high density storage of products and provides an extremely economical way of storing a wide range of different items in the bins 10, while also allowing reasonably economical access to all of the bins 10 when required for picking.

[0019] However, it is an object of the present disclosure to provide a method and system for reliably determining the correct location of a remotely operated load handling device in a storage system. Summary of the Invention

[0020] A method is provided for assisting in controlling the movement of one or more transport devices operating in a workspace, the method comprising: acquiring an image representation of the workspace captured by one or more image sensors; acquiring a target image portion of the image representation of the workspace at an interface; mapping the target image portion to a target location in the workspace; determining an exclusion zone in the workspace based on the mapping, the target location comprising one or more transport devices that will be prohibited from entering; and outputting exclusion zone data representative of the exclusion zone to a control system for implementing the exclusion zone in the workspace.

[0021] Further provided is a data processing apparatus comprising a processor configured to perform the method. Also provided is a computer program comprising instructions which, when executed by a computer, cause the computer to perform the method. Similarly provided is a computer readable storage medium comprising instructions which, when executed by a computer, cause the computer to perform the method.

[0022] Further provided is a system for assisting a control system for controlling transport device movement in a workspace, the assistance system comprising an image sensor for capturing an image representation of the workspace and an interface for acquiring a target image portion of the image representation of the workspace, wherein the system is configured to map the target image portion to a target location in the workspace, determine an exclusion zone in the workspace comprising the target location where one or more transport devices are prohibited from entering based on the mapping, and output exclusion zone data representing the exclusion zone to the control system for implementing the exclusion zone in the workspace.

[0023] There is further provided a storage system comprising the above-mentioned workspace, a support system, and a control system for controlling transport device movement in the workspace, wherein the workspace comprises a grid formed by a first set of parallel tracks extending in an X direction and a second set of parallel tracks extending in a Y direction orthogonal to the first set in a substantially horizontal plane, the grid comprising a plurality of grid spaces, wherein one or more transport devices are arranged to selectively move on the tracks in at least one of the X or Y directions and to handle containers stacked below the tracks within the footprint of a single grid space.

[0024] Broadly speaking, this description introduces a system and method for determining an exclusion zone for implementation in a workspace in which one or more transport devices operate. The exclusion zone may be implemented by a master controller of the transport devices and functions, for example, to prohibit the transport devices operating in the workspace from entering the exclusion zone. The exclusion zone may be determined around a defective transport device, for example, that has fallen and / or lost communication with the master controller, so that the defective transport device can, for example, be later attended to and, for example, removed from the workspace. This allows the workspace to remain usable while reducing the risk of other transport devices colliding with the defective transport device.

[0025] Embodiments will now be described, by way of example only, with reference to the accompanying drawings, in which like reference numbers designate the same or corresponding parts and in which: [Brief description of the drawings]

[0026] [Figure 1] 1 is a schematic diagram of a grid framework structure according to a known system; [Diagram 2] FIG. 2 is a schematic diagram of a top-down view showing a stack of bins arranged within the framework structure of FIG. 1. [Diagram 3]1 is a schematic diagram of a known storage system illustrating a load handling device operable on a grid framework structure. [Figure 4] 1 is a schematic perspective view of a load handling device on a portion of a grid framework structure. [Diagram 5] FIG. 2 is a schematic perspective view of a load handling device showing a lifting mechanism for gripping a container from above. [Figure 6A] 6 is a schematic perspective cutaway view of the load handling device of FIG. 5 showing the container receiving space of the load handling device and how it accommodates a container in use. [Figure 6B] 6 is a schematic perspective cutaway view of the load handling device of FIG. 5 showing the container receiving space of the load handling device and how it accommodates a container in use. [Figure 7] 1 is a schematic diagram of a storage system illustrating a load handling device operable on a grid framework structure along with a camera located above the grid framework structure, according to an embodiment. [Figure 8A] 1 is a diagram of a schematic representation of an image captured by a camera positioned above a grid framework structure, according to an embodiment. [Figure 8B] 1 is a diagram of a schematic representation of an image captured by a camera positioned above a grid framework structure, according to an embodiment. [Figure 9] 1 is a schematic diagram of a neural network, according to an embodiment. [Figure 10A] 1 is a schematic diagram of a generated model of a track of a grid framework structure according to an embodiment. [Figure 10B] 1 is a schematic diagram of a generated model of a track of a grid framework structure according to an embodiment. [Figure 11] 1 is a schematic diagram illustrating flattening of a captured image of a grid framework structure, according to an embodiment. [Figure 12] 1 is a schematic diagram illustrating modification of a captured image of a grid framework structure according to an embodiment. [Figure 13]1 is a flow chart illustrating a method for calibrating ultra-wide cameras disposed on a grid of a storage system, according to an embodiment. [Figure 14] 1 is a flow chart illustrating a method for detecting a transport device in a workspace comprising a grid, according to an embodiment. [Figure 15] 11 is a flow chart illustrating a method for detecting an identification marker on a transport device in a workspace comprising a grid, according to an embodiment. [Figure 16] 1 is a flow chart illustrating a method for assisting in controlling the movement of one or more transport devices operating in a workspace. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0027] In a storage system of the type shown in Figures 1-3, it is useful to determine the location of a given load handling device 30 operating on the grid structure 15 independent of the master controller. Each load handling device 30 is sent control signals from the master controller to move along a predetermined path from one location on the grid structure to another. For example, a given load handling device 30 may be commanded to move to a particular location on the grid structure 15 to pick up a target container from a stack of containers at that particular location. When multiple such devices 30 move along respective tracks on the grid structure 15, it is useful to be able to determine the exact location of a given load handling device 30 relative to the grid structure 15 in the event, for example, of communication being lost between a given load handling device and the master controller. For example, a collision between a load handling device and another object, such as another load handling device, on or around the grid structure may cause the, or each, load handling device to become unresponsive to communications from the master controller, such as by losing its connection to it and / or disengaging from the tracks 22 of the grid structure 15. The collision may cause, for example, one or more load handling devices to become misaligned with the tracks 22 or to topple on the grid structure.

[0028] Monitoring the grid structure 15 and the load handling devices 30 moving thereon can allow for unresponsive instances of the load handling devices to be detected and / or acted upon to resolve the operation of multiple load handling devices. Having an independent assessment of the position of a given load handling device 30 relative to the grid structure 15 can also be useful for other technical purposes, such as monitoring a predetermined trajectory of a load handling device 30 on the grid structure 15 against its true position.

[0029] FIG. 7 illustrates the grid structure (or simply "grid") 15 of the storage system, previously described. The grid is formed by a first set 22a of parallel tracks extending in an X direction and a second set 22b of parallel tracks extending in a Y direction, orthogonal to the first set in a substantially horizontal plane. The grid 15 has a plurality of grid spaces 17. One or more load handling devices, or "transport devices" 30, are arranged to selectively move in at least one of the X or Y directions on the trucks 22 and to handle containers 10 stacked below the trucks 22 within the footprint of a single grid space 17. In an example, the one or more transport devices 30 each have a footprint that also occupies only a single grid space, such that a given transport device occupying one grid space does not interfere with another transport device occupying or crossing an adjacent grid space.

[0030] Above the grid 15, a camera 71 is disposed. In an example, the camera 71 is an ultra-wide-angle camera, i.e., equipped with an ultra-wide-angle lens (also referred to as a "super wide-angle" lens or a "fish-eye" lens). The camera 71 includes an image sensor for receiving incident light focused through a lens, e.g., a fish-eye lens. The camera 71 has a field of view 72 that includes at least a section of the grid 15. Multiple cameras may be used to observe the entire grid 15, e.g., each camera 71 having a respective field of view 72 that covers a section of the grid 15. The ultra-wide-angle lens may be selected for its relatively large field of view 72, e.g., up to a 180 degree solid angle, compared to other lens types, which means that fewer cameras are needed to cover the grid 15. Also, space may be limited between the top of the grid 15 and surrounding structures, e.g., a warehouse roof, thus constraining the height of the camera 71 above the grid 15. An ultra-wide lens camera can provide a relatively large field of view at a relatively low height above the grid 15 compared to other camera types.

[0031] One or more cameras 71 may be used to monitor the workspace of the transport device 30, which workspace includes the grid structure 15. For example, image feeds from the one or more cameras 71 may be displayed on one or more computer monitors remote from the grid 15 to monitor for instances of faulty, e.g., unresponsive, transport devices. An operator may thus detect such instances and act to resolve the issue, for example, by resetting a communications link between the transport device and a master controller or by requesting manual intervention for a mechanical problem.

[0032] An effective monitoring or surveillance system for a workspace incorporates the calibration of one or more ultra-wide-angle cameras located above the workspace. Accurate calibration of the ultra-wide-angle camera allows interactions with images captured by the ultra-wide-angle camera, distorted by the ultra-wide-angle lens, to be correctly mapped to the workspace. Thus, an operator can select an area of ​​pixels in the distorted image, which is mapped to a corresponding area of ​​grid space in the workspace, for example. In other scenarios, the distorted image from the camera 71 can be processed to detect a defective transport device 30 in the workspace and output its location in the workspace and even identification information of the detected transport device 30, such as a unique ID label. Such an example is described in the following embodiment.

[0033] Calibration Process The calibration process 130 includes acquiring 131 an image of a section of the grid 15, i.e., a grid section, captured by the ultra-wide-angle camera 71 according to the example shown in Fig. 13. Acquiring the image includes acquiring, e.g., receiving, e.g., at a processor, image data representing the image. For example, the image data may be received via an interface, e.g., a camera serial interface (CSI). An image signal processor (ISP) may perform initial processing of the image data, e.g., saturation correction, re-normalization, white balancing, and / or demosaicing, to prepare the image data for display.

[0034] Initial values ​​for a number of parameters corresponding to the ultra-wide camera 71 are also obtained 132. The parameters include the focal length of the ultra-wide camera, a translation vector representing the position of the ultra-wide camera over the grid section, and a rotation vector representing the tilt and rotation of the ultra-wide camera. These parameters can be used in a mapping algorithm to map pixels in an image distorted by the ultra-wide lens of camera 71 onto a plane oriented relative to the Cartesian grid 15 of the storage system. The mapping algorithm is described in more detail below.

[0035] The calibration process 130 includes processing 133 the images using a neural network trained to detect / predict tracks in images of grid sections captured by the ultra-wide angle camera.

[0036] Neural Networks 9 illustrates an example of a neural network architecture. The exemplary neural network 90 is a convolutional neural network (CNN). An example of a CNN is the U-Net architecture developed by the Computer Science Department at the University of Freiburg, although other CNNs, e.g., VGG-16 CNN, can be used. The input 91 to the CNN 90 comprises image data in this example. The input image data 91 is a given number of pixels wide and a given number of pixels high, and includes one or more color channels (e.g., red, green and blue color channels).

[0037] The convolutional layers 92, 94 of the CNN 90 may generally extract specific features from the input data 91 and operate on small portions of the image to create feature maps. The fully connected layer 96 uses the feature maps to determine an output 97, e.g., classification data specifying the classes of objects predicted to be present in the input image 91.

[0038] In the example of FIG. 9, the output of the first convolutional layer 92 undergoes pooling in a pooling layer 93 before being input to the second convolutional layer 94. Pooling allows, for example, values ​​for a region of an image or feature map to be aggregated or combined, for example by taking the highest value in the region. For example, in 2×2 max pooling, rather than transferring the entire output, the highest value of the output of the first convolutional layer 92 within a 2×2 pixel patch of the feature map output from the first convolutional layer 92 is used as an input to the second convolutional layer 94. Thus, pooling can reduce the amount of computation for subsequent layers of the neural network 90. ​​The effect of pooling is shown diagrammatically in FIG. 9 as a reduction in the size of the frames in the layers involved. Further pooling is performed in a second pooling layer 95 between the second convolutional layer 94 and the fully connected layer 96. It should be appreciated that the schematic representation of neural network 90 in FIG. 9 has been greatly simplified for ease of explanation, and that typical neural networks may be significantly more complex.

[0039] In general, a neural network, such as the neural network 90 of FIG. 9, may undergo what is called a "training phase," during which the neural network is trained for a particular purpose. A neural network generally includes layers of interconnected artificial neurons that form a directed, weighted graph, with the graph's vertices (corresponding to neurons) or edges (corresponding to connections) each associated with a weight. The weights may be adjusted throughout training, changing the output of the individual neurons, and thus the neural network as a whole. In a CNN, a fully connected layer 96 generally connects every neuron in one layer to every neuron in another layer, and thus may be used to identify global properties of an image, such as whether the image contains a particular class of object, or a particular instance belonging to a particular class.

[0040] In the present context, the neural network 90 is trained to perform object identification by processing image data, e.g., to determine whether an object of a predetermined class of objects is present in the image (although in other examples, the neural network 90 may instead be trained to identify other image characteristics of the image). For example, training the neural network 90 in this manner generates weight data representing weights to be applied to the image data (e.g., different weights are associated with different respective layers of a multi-layer neural network architecture). Each of these weights is multiplied with a corresponding pixel value of the image patch, e.g., to convolve a kernel of the weights with the image patch.

[0041] Specific to the context of ultra-wide camera calibration, the neural network 90 is trained with a training set of input images of grid sections captured by an ultra-wide camera to detect tracks 22 of the grid 15 in a given image of the grid section. In an example, the training set includes mask images that show only extracted track features corresponding to the input images. For example, the mask images are manually created. Thus, the mask images can serve as a desired result for the neural network 90 to be trained using the training set of images. Once trained, the neural network 90 can be used to detect tracks 22 in images of at least a portion of the grid structure 15 captured by the ultra-wide camera.

[0042] The calibration process 130 includes processing 133 the images of the grid sections captured by the ultra-wide-angle camera 71 with the trained neural network 90 to detect the tracks 22 in the images. At least one processor (e.g., a neural network accelerator) may be used to perform the processing 133. The image processing 133 generates models of the tracks, in particular a first set and a second set of parallel tracks, captured in the images of the grid sections. For example, the models comprise a representation of a prediction of the tracks in the distorted images of the grid sections determined by the neural network 90. ​​The models of the tracks correspond in examples to a mask or a probability map.

[0043] Selected pixels in the determined track model are then mapped 134 to corresponding points on the grid 15 using a mapping, e.g., a mapping algorithm, that incorporates multiple parameters corresponding to the ultra-wide-angle camera. The obtained initial values ​​are used as input to the mapping algorithm.

[0044] An error function (or "loss function") is determined 135 based on the discrepancy between the mapped grid coordinates and the "true", e.g., known, grid coordinates of the point corresponding to the selected pixel. For example, the selected pixel at the center of the X-direction track 22a should correspond to a grid coordinate with a half-integer value in the Y-direction, e.g., (x,y.5), where x is an unknown number and y is an unknown integer. Similarly, the selected pixel at the center of the Y-direction track 22b should correspond to a grid coordinate with a half-integer value in the X-direction, e.g., (x'.5,y'), where x' is an unknown integer and y' is an unknown number. In an example, the width and length of the grid cells (or their ratios) are used in the loss function, e.g., to calculate cell x,y coordinates for the keypoints and see if they are on the track (e.g., coordinate values ​​of n.5, where n is an integer).

[0045] The initial values ​​of the parameters corresponding to the ultra-wide camera are then updated to updated values ​​based on the determined error function 136. For example, a Broyden-Fletcher-Goldfarb-Shanno (BFGS) algorithm is applied using the error function and the initial parameter values ​​as input. In an example, the updated values ​​of the parameters are iteratively determined and the error function is recalculated with each update. The iterations may continue until the error function is reduced by less than a predetermined threshold between successive iterations or compared to the initial error function, for example, or until the absolute value of the error function falls below a predetermined threshold. Other iterative algorithms, for example, sequential quadratic programming (SQP) or sequential least-squares quadratic programming (SLSQP), may be used with the initial values ​​to generate a sequence of improving approximate solutions for the parameters, where a given approximation in the sequence is derived from a previous one. In some cases, the iterative algorithm is used to optimize the values ​​of the parameters. For example, the updated values ​​are optimized values ​​of the parameters.

[0046] Updating 136 the initial values ​​of the plurality of parameters corresponding to the ultra-wide-angle camera involves applying one or more respective bounding values ​​for the plurality of parameters. For example, the bounding values ​​for the rotation angle associated with the rotation vector are substantially 0 degrees and substantially +5 degrees. Additionally or alternatively, the bounding values ​​for the planar component of the translation vector are ±0.6 of the length of the grid cell. Additionally or alternatively, the bounding values ​​for the height component of the translation vector are 1800 mm and 2100 mm, or 1950 mm and 2550 mm, or 2000 mm and 2550 mm above the grid. For example, the lower bound for the camera height is in the range of 1800-2000 mm. For example, the upper bound for the camera height is in the range of 2100-2600 mm. Additionally or alternatively, the bounding values ​​for the focal length of the camera are 0.23 and 0.26 cm. Applying one or more respective boundary values ​​for multiple parameters can mean that the updating, e.g., optimization, process is performed in a feasible region or solution space, i.e., the set of all possible values ​​that satisfy one or more boundary conditions.

[0047] The updated values ​​of the plurality of parameters are electronically stored 137 for future mapping of pixels in a grid section image captured by ultra-wide-angle camera 71 to corresponding points on grid 15 via a mapping algorithm. For example, the stored values ​​of the plurality of parameters are retrieved from data storage and used in a mapping algorithm to calculate grid coordinates corresponding to a given pixel in a given image of the grid section captured by ultra-wide-angle camera 71. In an example, the updated values ​​are stored in a storage location associated with ultra-wide-angle camera 71, for example in a database. For example, a lookup function or table may be used in conjunction with the database to find the stored parameter values ​​associated with any given ultra-wide-angle camera employed in storage system 1 on grid 15.

[0048] Following calibration of a given camera 71 disposed over the grid 15, an image (e.g., a "snapshot") of a grid section captured by the camera 71 may be flattened, i.e., made undistorted, for interaction by an operator. For example, using an image-to-grid mapping function described, a distorted image 81 of the grid section may be converted to a flattened image 111 of the grid section, as shown in the example of FIG. 11. The flattening involves selecting areas of grid cells to be flattened in the distorted image 81 and inputting the grid coordinates corresponding to those cells into the mapping function, which determines which respective pixel values ​​from the distorted image 81 should be copied into the flattened image 111 for each grid coordinate. For example, a target resolution, in pixels per grid cell, may be set for the flattened image 111, the target resolution having a ratio corresponding to the ratio of the grid cell dimensions. Once all pixel values ​​required in the flattened image (according to the target resolution and the selected number of grid cells) have been determined, the flattened image 111 may be generated.

[0049] Snapshots may be captured by the camera 71 at predetermined intervals, e.g., every 10 seconds, and converted to corresponding flattened images 111. The most recent flattened images 111 may be stored in storage for viewing on a display, e.g., by an operator wishing to view the grid section covered by the camera 71. The operator may instead choose to retake a grid shot snapshot and have it flattened. Thus, the operator may select regions, e.g., pixels, in the flattened image 111 and have those selected regions converted to grid coordinates based on the image-to-grid mapping function described herein. In some cases, the flattened image 111 includes grid coordinate annotations for the grid space viewable in the flattened image 111. The flattened images 111 corresponding to each camera 71 may be more user-friendly for monitoring the grid 15, as compared to the distorted images 81, 82.

[0050] Grid to image mapping A computational algorithm maps real-world points on the grid 15 to pixels in an image captured by the camera. The grid points are first projected onto a plane corresponding to the ultra-wide-angle camera 71. For example, at least one of a rotation using a rotation matrix and a planar translation in the X and Y directions is applied to points having x, y, and z coordinates in the grid framework structure 14. The focal length f of the ultra-wide-angle camera may be used to project points having three-dimensional coordinates relative to the grid 15 onto a two-dimensional plane relative to the ultra-wide-angle camera 71. For example, the coordinates of a mapped point q in the plane of the ultra-wide-angle camera 71 are given by q=f·p [x,y] ÷p z It is calculated as, where p [x,y] and p z are the planar xy and third z coordinates, respectively, of point p relative to the grid 15.

[0051] A point q projected on the ultra-wide-angle camera plane may be aligned with a Cartesian coordinate system in that plane to determine a first Cartesian coordinate of the point. For example, aligning a point with a Cartesian coordinate system involves rotating the point, or the point's position vector in the plane (e.g., a vector from the origin to the point). Thus, the rotation is, for example, to align with a typical grid orientation in an image captured by the camera, but may not be necessary if the X and Y directions of the grid are already aligned with the captured image. The rotation is substantially 90 degrees in the example. As shown in Figures 8A and 8B, the X and Y directions of the grid are offset by 90 degrees with respect to the horizontal and vertical axes of the image, and thus the rotation "corrects" this offset so that the X and Y directions of the grid are aligned with the horizontal and vertical axes of the captured image.

[0052] A grid-to-image mapping algorithm continues by converting the first Cartesian coordinates to first polar coordinates using standard trigonometry. A distortion model is then applied to the first polar coordinates of the point to generate second, e.g., "distorted" polar coordinates. In an example, the distortion model comprises a tangent model of distortion given by r'=f·arctan(r / f), where r and r' are the undistorted and distorted radial coordinates of the point, respectively, and f is the focal length of the ultra-wide-angle camera.

[0053] The second polar coordinates are then converted back to (second) Cartesian coordinates using the same standard trigonometric methods inversely. Image coordinates of pixels in the image are then determined based on the second Cartesian coordinates. In an example, this determination includes at least one of de-centering or rescaling the second Cartesian coordinates. Additionally or alternatively, the ordinate (y coordinate) of the second Cartesian coordinates is inverted, e.g., mirrored in the x-axis.

[0054] Image to Grid Mapping Mapping pixels in the image captured by camera 71 to real-world points on grid 15 is done by different computational algorithms. For example, the image-to-grid mapping algorithm is the inverse of the grid-to-image mapping algorithm described above, with each mathematical operation being inverted.

[0055] For a given pixel in the image, the (second) Cartesian coordinate of the mapped point is determined based on the image coordinate of the pixel in the image. For example, this determination involves initializing the pixel in the image, including, for example, at least one of centering or normalizing the image coordinate. As mentioned above, the ordinate is inverted in some examples. The second Cartesian coordinate is converted to a second polar coordinate using standard trigonometry as mentioned above. The use of the label "second" is used for consistency with the conversion performed in the grid-to-image algorithm described, but is arbitrary.

[0056] An inverse distortion model is applied to the second polar coordinates to generate first, e.g., "undistorted", polar coordinates. In an example, the inverse distortion model is based on a tangent model of distortion given by r=f·tan(r' / f), where again r' is the distorted radial coordinate of the point, r is the undistorted radial coordinate of the point, and f is the focal length of the ultra-wide camera. Thus, in an example, the inverse distortion model used in the image-to-grid mapping is an inverse function, or "anti-function," of the distortion model used in the grid-to-image mapping.

[0057] The image-to-grid mapping algorithm continues by converting the first polar coordinate to a first Cartesian coordinate. The first Cartesian coordinate may be disaligned or misaligned with a Cartesian coordinate system in a plane corresponding to the ultra-wide-angle camera. For example, disaligning a point with a Cartesian coordinate system involves applying a rotation transformation to the point, or to the point's position vector in the plane (e.g., a vector from the origin to the point). The rotation is substantially 90 degrees in the example. This rotation may therefore "undo" any "correction" to the offset between the X and Y directions of the grid and the horizontal and vertical axes of the captured image, previously described in the grid-to-image mapping.

[0058] Finally, the point is projected from the (second) plane corresponding to the camera 71 onto the (first) plane corresponding to the grid 15 to determine the grid coordinates of the point relative to the grid.

[0059] In the example, projecting the points onto the plane corresponding to grid 15 gives p=B -1 This involves calculating f tq z, where B=q R 3,[1,2] -f·R [1,2],[1,2]In these equations, p comprises the point coordinate in the grid plane, q comprises the Cartesian coordinate in the camera plane, and f is the focal length of the ultra-wide camera as previously described. Furthermore, t is a planar translation vector, z is the distance (e.g., height) between the ultra-wide camera and the grid, and R is a three-dimensional rotation matrix related to the rotation vector. The rotation vector comprises a direction representing the axis of rotation and a magnitude representing the angle of rotation. The rotation matrix R corresponding to the angle-axis rotation vector can be determined from the vector using, for example, Rodrigues' rotation formula.

[0060] Next, a mathematical derivation of the function for projecting an undistorted 2D point q from the camera plane is provided for completeness. Starting from the projection of the grid onto the image from above, q=f p' [x,y] ÷p' z where p' is the rotated and translated grid point p, i.e., p'=R p+(t x ,t y ,z) T The goal is to derive p from q. After rearranging and substituting for p', we get the following:

[0061]

number

[0062]

number

[0063]

number

[0064]

number

[0065]

number

[0066] Since the desired distance of a point p on the grid from the camera is given by a height parameter z, in translating the point p z = 0. Therefore, for all p z Terms can be eliminated, resulting in:

[0067]

number

[0068]

number

[0069] Matrix B=(q·R 3,[1,2] By defining -f·R, the equation becomes B·p [x,y] = f tz q, which can be further simplified to -1 Using

[0070] Returning to the calibration process 130, in some cases, grid cell coordinate data encoded in grid cell markers positioned with respect to the grid 15 may be used to calibrate calculated grid coordinates corresponding to pixels in the captured image. For example, the grid cell markers may be, for example, signboards placed in certain grid cells 17, with corresponding cell coordinate data marked on each signboard. The process 130 may include, for example, processing the captured image to detect the grid cell markers in the image, and then extracting the grid cell coordinate data encoded in the grid cell markers for use in calibrating the mapped grid coordinates. Each grid cell marker is in a respective grid cell, for example, under and within the field of view 72 of a respective camera 71.

[0071] The image processing may involve using an object detection model, e.g., a neural network, trained to detect instances of grid cell markers in images of the grid section. A computer vision platform, e.g., Cloud Vision API (Application Programming Interface) by Google®, may be used to implement the object detection model. The object detection model may be trained with images of the grid section including the grid cell markers. In examples where the object detection model includes a neural network, e.g., a CNN, the description with reference to FIG. 9 applies accordingly.

[0072] Grid coordinates generated by mapping pixels in an image to points on a grid section represented in a captured image may be calibrated to the entire grid based on the extracted cell coordinate data. For example, a mapped grid point corresponding to a given pixel has coordinates in units of grid cells, e.g. (x,y) with x being the number of grid cells in the X direction and y being the number of grid cells in the Y direction. However, the grid cells captured by the camera 71 are of a grid section, i.e. a section of the grid 15, and thus not necessarily the entire grid 15. Thus, the mapped grid coordinates (x,y) for a grid section captured in an image may be calibrated to grid coordinates (x',y') for the entire grid based on the relative location of the grid section with respect to the entire grid. The location of the grid section with respect to the entire grid may be determined by extracting grid cell coordinate data encoded in grid cell markers captured in the image, as described.

[0073] 10A shows an exemplary model 101 of tracks generated by processing an image 81 of a grid section captured by an ultra-wide-angle camera 71 with a neural network 90 trained to detect tracks 22 in the image. The model 101 comprises a representation of a prediction of tracks 22a, 22b in a distorted image of the grid section determined by the neural network 90. ​​Mapping pixels from the track model 101 to corresponding points on the grid 15 may be performed to calibrate the camera 71 as described. For example, calibration involves updating, e.g. optimizing, a number of parameters associated with the camera 71 used for mapping between pixels in the captured images 81, 82 and points on the grid 15.

[0074] In an example, the model 101 of the grid sections may be refined to represent only the centerlines of the first and second sets 22a and 22b of parallel tracks. Thus, the pixels to be mapped from the track model 101 to corresponding points on the grid 15 are, for example, the pixels that lie on the centerlines of the first and second sets 22a and 22b of parallel tracks in the generated model 101. Refining involves, for example, filtering the model with horizontal and vertical line detection kernels. Those kernels allow, for example, the centerlines of the tracks to be identified in the model 101 in the same way that other kernels may be used to identify other features of the image, such as edges in edge detection. Each kernel is of a given size, for example a 3×3 matrix, which may be convolved with the image data in the model 101 with a given stride. For example, the horizontal line detection kernel may be the matrix

[0075]

number

[0076] It can be expressed as:

[0077] Similarly, a vertical line detection kernel can be written as, for example, the matrix

[0078]

number

[0079] It can be expressed as:

[0080] In an example, filtering involves at least one of eroding and dilating pixel values ​​of the model 101 using horizontal and vertical line detection kernels. For example, at least one of an erosion function and a dilation function is applied to the model 101 using the kernels. The erosion function effectively "erodes" the foreground objects, in this case the boundaries of the tracks 22a, 22b in the generated model 101, by convolving the kernel with the model. During erosion, a pixel value (either "1" or "0") in the original model is updated to a value of "1" only if all pixels convolved under the kernel are equal to "1", otherwise it is eroded (updated to a value of "0"). Effectively, all pixels near the boundaries of the tracks 22a, 22b in the model 101 will be discarded, depending on the size of the kernel used in the erosion, such that the thickness of each of the tracks 22a, 22b is reduced substantially to its centerline. The dilation function is the opposite of the erosion function and may be applied after the erosion to effectively "expand" or widen the centerline remaining after the erosion. This dilation may stabilize the centerlines of the tracks 22a, 22b in the improved model 101. During the dilation, if at least one pixel that is convolved under the kernel is equal to "1", the pixel value is updated to a value of "1". The erosion and dilation functions are each applied to the original generated model 101 and the resulting horizontal and vertical centerline "skeletons", for example, are combined to produce the improved model.

[0081] In some cases, the generated model 101 may have missing sections of the tracks 22a, 22b, for example, where one or more areas of the grid section viewable by the camera 71 are obscured. Objects on the grid 15, such as the conveying device 30, pillars or other structures, may obscure parts of the tracks in the captured image. Thus, the generated model 101 may have the same missing areas of the tracks. Similarly, false positive predictions of the tracks may be present in the generated model 101.

[0082] To help with these issues, the tracks 22a, 22b (e.g., their centerlines) present in the generated model can be fitted to respective quadratic equations, for example, to create secondary trajectories for the tracks 22a, 22b. FIG. 10B shows an example of a track from a first set of tracks 22a in the model 101 being fitted to a first secondary trajectory 102, and a track from a second set of tracks 22b in the model 101 being fitted to a second secondary trajectory 103. Secondary track centerlines can then be created based on the secondary trajectories, for example, by extrapolating pixel values ​​along the secondary trajectories to fill gaps or remove false positives in the model 101. For example, if a sub-line generated from the predicted grid model 101 cannot be fitted to a given quadratic curve with at least one other line, the sub-line is highly unlikely to be part of the grid and should be excluded.

[0083] The quadratic equation used to fit the trucks in Model 101, y=ax 2 +bx+c also depends on the specified boundary conditions, e.g.

[0084]

number

[0085] , -9.9×10 -4 <a<9.9×10 -4can have -5 < b < 5 and 0 < c < 3200.

[0086] In an example, a predetermined number of pixels are extracted from an improved model 101 of a track, for example, to reduce storage requirements for storing the model. For example, a random subset of pixels is extracted to give the final improved model 101 of the track.

[0087] Calibrating the ultra-wide-angle camera 71 using the systems and methods described herein enables, for example, an image captured by a camera 71 with a wide field of view of the grid 15 to be used to detect the transport device thereon and identify its location. This is despite the relatively high distortion present in the image compared to that of other camera types.

[0088] The automatic calibration process outlined above can also reduce the time taken to calibrate each camera 71 installed on the grid 15 of the storage system compared to manual methods of tuning the parameters associated with each camera 71. For example, implementing the described calibration pipeline by combining a neural network model, such as a U-Net, with a customized optimization function can remove over 80% of the error compared to standard calibration methods. Further, the calibration systems and methods described herein have been found to be sufficiently versatile and consistent to calibrate cameras in multiple warehouse storage systems, for example, with different dimensions, scales, and layouts.

[0089] Further, the flattened calibrated image 111 output by the grid enables easier interaction with the image 111 by both humans and machines for monitoring the grid 15 and the transport device 30 moving thereon. Thus, it can be more efficient to detect and / or act on an unresponsive instance of a given transport device on the grid to resolve the actions of a group of transport devices 30.

[0090] Detecting a transport device in a workspace Methods and systems are provided herein for processing distorted images 82 captured by camera 71 to detect transport devices 30 on the grid. For example, the location of the detected transport devices 30 relative to the grid 15 may be output. In some examples, identification information of the detected transport devices 30, such as a unique ID label, may be output. Such examples are described in more detail below.

[0091] 14 illustrates a computer-implemented method 140 for detecting a transport device 30 in a workspace comprising a grid 15. The method 140 involves obtaining 141 image data representative of an image of at least a portion of the workspace, and processing 142 the image data with an object detection model trained to detect instances of the transport device on the grid. For example, an image is captured by a camera 71 with a field of view covering at least a portion of the workspace, and the image data is transferred to a computer for implementing the detection method 140. The image data is received, for example, at an interface of the computer, for example a CSI.

[0092] The object detection model may be a neural network, e.g., a convolutional neural network, trained to perform object detection of the transport device 30 on the grid 15 of the workspace. Thus, the description of the neural network with respect to FIG. 9 applies in these particular examples. In the present context, the object detection model, e.g., a CNN 90, is trained to perform object identification by processing acquired image data to determine whether an object (i.e., the transport device) of a predetermined class of objects is present in the image. Training the neural network 90 involves, for example, providing the neural network 90 with training images of the workspace section in which the transport device is present. Weight data is generated for each (convolutional) layer 92, 94 of the multi-layer neural network architecture and stored for use in implementing the trained neural network. In an example, the object detection model comprises a "You Only Look Once" (YOLO) object detection model, e.g., YOLOv4 or Scaled-YOLOv4, having a CNN-based architecture. Other exemplary object detection models include neural-based approaches, such as RetinatNet or R-CNN (Regions with CNN features), and non-neural approaches, such as Support Vector Machines (SVMs) for object classification based on determined features, e.g., Haar-like features or Histogram of Oriented Gradients (HOG) features.

[0093] The method 140 involves determining 143 whether the image includes the carrying device 30 based on the process 142. For example, an object detection model is configured, e.g., trained or learned, to detect whether the carrying device 30 is present in the captured image of the workspace. In an example, the object detection model makes the determination 143 with a level of confidence, e.g., a probability score, corresponding to the likelihood that the image includes the carrying device 30. Thus, a positive determination may correspond to a confidence level above a predetermined threshold, e.g., 90% or 95%. In response to determining 143 that the image includes the carrying device, annotation data (e.g., predicted data or inferred data) indicative of the predicted carrying device in the image is output 144. An updated version of the image including the annotation data may be output, for example, as part of the method 140.

[0094] In an example, the annotation data comprises a bounding box. FIG. 12 shows an example of an updated version 83 of an image 82 captured by the ultra-wide-angle camera 71 annotated with bounding boxes 120a, 120b. The bounding boxes 120a, 120b correspond to the first and second transport devices 30a, 30b detected by the object detection model, respectively. A given bounding box may, for example, comprise a rectangle surrounding a detected object and specify one or more of a location, an identified class (e.g., a transport device), and a confidence score (e.g., how likely the object will be present in the box). The bounding box data defining a given bounding box may include coordinates of two corners of the box, or center coordinates with width and height parameters for the box. In an example, the detection method 140 involves generating annotation data 120a, 120b for output.

[0095] In some cases, the object detection model is further trained to detect instances of faulty transport devices in the workspace, e.g., transport devices that are unresponsive to communications from the master controller, and / or that are misaligned with the grid, and / or have engaged warning signals.

[0096] For example, the method 140 involves processing the image data with an object detection model and determining, based on the processing, whether the image includes a transport device that is misaligned with the grid. The object detection model may be the same or different one used to detect the transport device. The object detection model is trained, for example, with a training set of images of transport devices that are misaligned with the grid 15, for example, at angles offset from the orthogonal track 22. In response to determining that the image includes a misaligned transport device, the method may include outputting at least one of annotation data or an alert. The annotation data, for example, indicates the predicted misaligned transport device in the image. As previously mentioned, the annotation may comprise a bounding box that encloses the predicted misaligned transport device on the grid. The output alert, for example, signals that the image includes a misaligned transport device.

[0097] Similarly, the method 140 may involve processing the image data with an object detection model and determining, based on the processing, whether the image includes a carrying device with an activated warning signal. The warning signal of the carrying device comprises a predetermined light, or color of light, emitted by a light source on the carrying device, such as a light emitting diode (LED). For example, the carrying device includes an LED configured to emit a first wavelength (color) of light when responsive to a communication from the master controller and to emit a second, different color wavelength (color) of light when not responsive to a communication from the master controller. The carrying device may become unresponsive, for example, when communication with the master controller is lost, thus activating the warning signal. Other types of warning signals from the light source are possible, for example, predetermined patterns of emission, such as blinking. In response to determining that the image includes an inconsistent carrying device, the method 140 may include outputting at least one of annotation data or an alert. The annotation data indicates a predicted carrying device in the image with an activated warning signal. For example, the annotation data may comprise a bounding box surrounding a predicted transport device with an activated warning signal in the image. Similarly, the output alert may signal that the image includes a transport device with an activated warning signal. Examples of output alerts include, for example, a text or other visual message to be displayed on a screen for viewing by an operator.

[0098] Localisation of transport devices The method 140 of detecting a transport device 30 in the workspace may include generating further annotation data corresponding to a plurality of virtual transport devices in a plurality of respective grid spaces 17 in the image 82. A location of the detected transport device 30 on the grid 15 may then be determined by comparing the annotation data indicative of the detected transport device in the image with the further annotation data corresponding to the plurality of virtual transport devices. For example, the comparison may include calculating an intersection over union (IoU) value using the annotation data. The grid space corresponding to the further annotation data associated with the highest IoU value may then be selected as the grid location of the detected transport device.

[0099] In an example, the further annotation data comprises a plurality of bounding boxes corresponding to a plurality of virtual transport devices. Thus, calculating the IoU value may involve dividing the overlap, or "intersection," area between two bounding boxes by the area of ​​the union of the two bounding boxes (e.g., the total area covered by the two boxes). For example, the area overlap between the bounding box of the detected transport device and a given bounding box corresponding to a given virtual transport device is calculated and divided by the area of ​​the union for the same two bounding boxes. This calculation is repeated for the bounding box of the detected transport device and each bounding box corresponding to each virtual transport device to give a set of IoU values. The highest IoU value in the set of IoU values ​​may then be selected, and the grid location of the corresponding bounding box is inferred as the grid location of the detected transport device.

[0100] The detection system may be configured to perform any of the detection methods described herein. For example, the detection system includes an image sensor for capturing an image of at least a portion of the workspace and an interface for acquiring image data. The detection system includes a trained object detection model, implemented, for example, on a graphics processing unit (GPU) or a dedicated neural processing unit (NPU), for performing the processing and decision steps of the computer-implemented method 140 for detecting the transport device 30.

[0101] Detecting an identification marker on a transport device Figure 15 shows a computer-implemented method 150 for detecting an identification marker on a transport device in a workspace comprising a grid 15. The method involves acquiring 151 image data representative of an image portion including the transport device. The image portion may be a portion, e.g., at least a part of, an image 82, e.g., shown in Figure 8B, captured by a camera 71 positioned above the grid, e.g., as shown in Figure 7.

[0102] 12 shows exemplary image portions 121a, 121b including respective transport devices 30a, 30b. The image portions 121a, 121b may be extracted from the image 82 based on annotation data, e.g., bounding boxes 120a, 120b, corresponding to the detected transport devices 30a, 30b in the image 82. For example, the output annotation data of the method 140 for detecting transport devices in a workspace is used to obtain, e.g., extract, the image portions 121a, 121b from the image 82. If the annotation data represents one or more bounding boxes, for example, one or more image portions 121a, 121b corresponding to image data contained in one or more bounding boxes 120a, 120b overlaid on the annotated image 83 are extracted from the image 82. For example, method 150 involves obtaining annotated image data 83 including annotation data 120a, 120b indicating one or more transport devices in the image, and cropping the annotated image data 83 to produce one or more image portions 121a, 121b including respective one or more transport devices 30a, 30b.

[0103] In the alternative, the image portion comprises the entire image 82 captured by the camera 71. The image portion may include one or more transport devices 30. In other words, the image portion comprises, for example, at least a portion of the image 82 captured by the camera 71.

[0104] The method 150 further involves processing 152 the acquired image data with the first neural network and the second neural network in series. The first neural network is trained to detect instances of identification markers on the transport device in the image. The second neural network is trained to recognize marker information associated with the identification marker in the image. An identification ("ID") marker is, for example, a text label or other code (such as a barcode, QR code, or the like) on the transport device. The ID marker includes marker information associated with that marker, for example, text or a QR code. The marker information corresponds to ID information for the transport device, for example, to a name or other descriptor of the transport device in a broader system. The marker information is encoded in the ID marker, for example, as text or other code, and the corresponding ID information can be used to distinguish a given transport device from other transport devices operating in the system.

[0105] In an example, the first neural network is configured, e.g., trained or learned, to receive image portions as first input data and produce feature vectors as intermediate data, e.g., to pass them on as input to the second neural network. For example, the first neural network comprises a CNN90 configured to use convolutions to extract visual features, e.g., of different sizes, and produce feature vectors. An Efficient and Accurate Scene Text (EAST) detector may be used as the first neural network to identify instances of identifying markers, e.g., text labels, on the carrier device.

[0106] In some cases, the first neural network outputs further annotation data, e.g., defining a bounding box, corresponding to the detected identification marker in the image portion. For example, process 152 involves determining whether the image portion includes an identification marker on a transport device based on processing with the first neural network. If the determination is positive, further annotation data corresponding to the location of the identification marker in the image portion is generated and output as part of method 150. The further annotation data may comprise image coordinates for the image or image portion. For example, the image coordinates correspond to at least two corners of a bounding box for the identification marker in the image portion. The bounding box may be defined, for example, by the coordinates of two opposite corners.

[0107] In an example, processing 152 the image data involves extracting a sub-portion of the image portion, where the sub-portion corresponds to a detected identification marker on the transport device. For example, the image portion is cropped to generate a sub-portion that includes the identification marker. FIG. 12 shows an example sub-portion 122 corresponding to a detected identification marker on the transport device 30a, extracted from image portion 121a. Sub-portion 122 may be rotated such that a longitudinal axis of the identification marker is substantially horizontal with respect to sub-portion 122, as shown in the example of FIG. 12. Method 150 may then include processing sub-portion 122 with a second neural network configured, e.g., trained or learned, to recognize marker information in the image.

[0108] The method 150 ends with outputting 153 marker data representative of the marker information determined by the second neural network. For example, the second neural network is configured to derive the marker data from an image sub-portion including the ID marker. In an example where the ID marker comprises a text label, the second neural network may be configured to transcribe the image sub-portion including the label into label sequence data, e.g., marker data comprising a sequence (or "string") of letters, numbers, punctuation, or other symbols. For the example sub-portion 122 shown in FIG. 12, the second neural network would output the marker data as, e.g., label sequence data "AA-Z82" for the identification label of the carrying device 30a. In an alternative example, the ID marker is a code on the carrying device, e.g., a QR ("quick response") code or a barcode, applied to the carrying device, e.g., on a label. The second neural network is configured, e.g., trained or learned, to determine the code from an image of the ID marker on the carrying device. The code, e.g., marker data, may then be output. For example, the code may be further processed to decode the ID information encoded therein. In other words, the detected QR code or barcode is decoded to determine, for example, ID information of the carrying device, for example, the name.

[0109] In an example, the second neural network comprises a convolutional recurrent neural network (CRNN) configured to apply convolutions to extract visual features from image sub-portions and arrange the features in a sequence. The CRNN comprises two neural networks, e.g., a CNN and a further neural network. In some cases, the second neural network comprises a bidirectional recurrent neural network (RNN), e.g., a bidirectional long short-term memory (LSTM) model. For example, the bidirectional RNN is configured to process the feature sequence output of the CNN to predict the ID sequence encoded in the marker, applying sequential cues learned from patterns in the feature sequence, e.g., in the example of FIG. 12, that the ID sequence is highly likely to start with the letter "A" and end with a number. Thus, the second neural network may comprise a pipeline of two or more neural networks, e.g., a CNN piped to a deep bidirectional LSTM, such that the feature sequence output of the CNN is passed to the biLSTM that receives it as an input. In other examples, the second neural network comprises a different type of deep learning architecture, for example a deep neural network.

[0110] The detection system may be configured to perform any of the detection methods described herein. For example, the detection system includes an image sensor for capturing an image of at least a portion of the workspace and an interface for acquiring image data. The detection system includes a trained object detection model, implemented, for example, on a graphics processing unit (GPU) or a dedicated neural processing unit (NPU), for performing the processing and decision steps of the computer-implemented method 150 for detecting an identification marker on the transport device 30.

[0111] Determining exclusion zones A method and system for determining an exclusion zone in a workspace is provided herein. The exclusion zone can be implemented by a master controller of a transport device and functions to prohibit a transport device operating in the workspace from entering the exclusion zone. For example, the exclusion zone can be determined around a defective transport device that has fallen and / or lost communication with the master controller, so that the defective transport device can be later attended to and, for example, removed from the workspace. This allows the workspace to remain usable while reducing the risk of other transport devices colliding with the defective transport device. In some cases, the determined exclusion zone can be proposed, for example, to an operator, before implementation, which can help ensure that the determined exclusion zone will cover the actual location of the defective transport device in the workspace.

[0112] FIG. 16 illustrates a computer-implemented method 160 for assisting in controlling the movement of one or more transport devices 30 operating in a workspace, for example a workspace comprising a grid 15 as described with reference to FIG.

[0113] Method 160 begins with obtaining 161 an image representation of the workspace captured by one or more image sensors. For example, the one or more image sensors are part of one or more cameras 71 having a view of the workspace. The cameras 71 may be disposed on a grid 15 of the workspace as shown in Figure 7. An image of the workspace is received, for example, at an interface, e.g., a camera interface or CSI, that is communicatively coupled to the one or more image sensors.

[0114] A target image portion of an image representation of the workspace is acquired 162 at an interface, e.g., a different interface than that used to receive the image. The target image portion is mapped 163 to a target location in the workspace. Based on the mapping 163, an exclusion zone in the workspace is determined 164 into which one or more transport devices will be prohibited from entering. The exclusion zone includes the target location mapped from the target image portion. Exclusion zone data representing the exclusion zone is output 165 to a control system, e.g., a master controller, for implementing the exclusion zone in the workspace.

[0115] For example, a user viewing the image representation of the workspace selects a target image portion via an interface configured to acquire the target image portion. The interface may be, for example, a user interface with which the user interacts. The user interface may include a display screen for displaying the image representation of the workspace captured by the image sensor. The user interface may also include input means, for example a touch screen display, a keyboard, a mouse, or other suitable means, with which the user can select the target image portion.

[0116] In an example, the target image portion includes at least a portion of the defective transport device in the workspace. For example, the target image portion is a subset of one or more pixels selected from an image of the workspace captured by an image sensor. The one or more pixels correspond to at least a portion of the defective transport device shown in the image of the workspace. For example, the target image portion includes the entire defective transport device shown in the image. In another example, the target image portion is only a single pixel corresponding to a portion of the defective transport device shown in the image.

[0117] In other examples, for example where the workspace comprises a grid 15 of cells 17, the target image portion corresponds to a given cell in the grid of cells. For example, the target image portion is a subset of one or more pixels that correspond to at least a portion of a given cell. In some cases, the target image portion includes an entire cell, and in other cases, the target image portion is only a single pixel that corresponds to a portion of a cell.

[0118] As described above, in some examples, a user selects a target image portion via an interface, e.g., a user interface. However, in other examples, the target image portion is obtained from an object detection system configured to detect a defective transport device from an image of a workspace. For example, method 160 involves an object detection system obtaining an image of a workspace captured by an image sensor and using an object classification model to determine that a defective transport device is present in the image data.

[0119] The object classification model, e.g., object classifier, generally comprises a neural network in the example described with reference to Figure 9, which is taken to apply accordingly. For example, the object classifier is trained with a training set of images of defective transport devices in the workspace to classify images subsequently captured by the image sensor as including or not including defective transport devices in the workspace.

[0120] In case of a positive classification by the trained object classifier, the object detection system can then output the target image portion. For example, the object detection system may indicate the target image portion in the original image from the image sensor using annotation data, such as, for example, a bounding box. Alternatively, the object detection system outputs the target image portion as a cropped version of the original input image received from the image sensor, where the cropped version includes the identified defective transport device in the workspace.

[0121] In an example, the object detection system comprises a neural network trained to detect defective transport devices and their locations in image data. For example, the object detection system determines regions of an input image in which defective transport devices are present. The regions may then be output, for example, as target image portions. In such a case, training the neural network involves using an annotated image of the workspace that shows defective transport devices in the workspace. Thus, the neural network is trained to both classify objects in the workspace as defective transport devices and to detect where the defective transport devices are in the image, i.e., to identify the location of the defective transport devices relative to the image of the workspace.

[0122] As described herein, the target image portion output by the object detection system may include at least a portion of the defective transport device in the workspace. For example, the target image portion is a subset of one or more pixels selected by the object detection system from an image captured by an image sensor based, for example, on a positive location determination of the defective transport device.

[0123] In an example, the determined exclusion zone includes a discrete number of grid spaces. For example, it may be determined that the defective transport device is within a single grid space 17 on the grid 15. Thus, the exclusion zone is determined to extend into that grid space, for example, such that other transport devices are prohibited from entering that single grid space. Thus, collisions between other transport devices and the defective transport device may be prevented. Alternatively, the exclusion zone may be set as an area of ​​grid cells, for example, a 3×3 cell area, centered on the grid cell in which the defective transport device is. Thus, the exclusion zone includes a buffer area around the affected grid cell in which the defective transport device is. In some cases, the defective transport device spans more than one grid cell, for example, if it is located between grid cells, has fallen, or is misaligned with the track 22. In such cases, a buffer area around the mapped grid cell (including the target location) may improve the effectiveness of the exclusion zone relative to excluding only the mapped grid cell. The size of the buffer area may be predetermined, for example, as a set area of ​​grid cells that will be applied once the mapped grid cells for exclusion are determined. Additionally or alternatively, the size of the buffer area is a selectable parameter when implementing the exclusion zone in the control system.

[0124] A control system, e.g., a master controller, remotely controlling movement of transport devices operating in the workspace can implement the exclusion zone based on the exclusion zone data output 165 as part of the method 160. For example, each of the one or more transport devices 30 can be remotely operable under the control of a control system, e.g., a central computer. To control the movement of the one or more transport devices 30 on the grid 15, instructions can be sent from the control system to the one or more transport devices 30 via a wireless communication network, e.g., implementing one or more base stations.

[0125] A controller in each transport device 30 is configured to control various drive mechanisms of the transport device, e.g., vehicle 32, to control its movement. For example, the instructions include various movements in the XY plane of the grid structure 15, which may be encapsulated in a defined trajectory for a given transport device. Thus, the exclusion zone may be implemented by a central control system, e.g., a master controller, such that the defined trajectory avoids the exclusion zone represented by the exclusion zone data. For example, when an exclusion zone is implemented, one or more respective trajectories corresponding to one or more transport devices 30 on the grid are updated to avoid the exclusion zone.

[0126] In an example, mapping a target image portion (e.g., one or more pixels in an image) to a target location (e.g., a point on a grid structure) involves inverting a distortion of the image of the workspace. For example, if an image sensor is used in combination with an ultra-wide-angle lens, the lens distorts the view of the workspace. Thus, the distortion is reversed, for example, as part of the mapping between image pixels and grid points. An inverse distortion model may be applied to the target image portion for this purpose. The description of the image-to-grid mapping algorithm in the previous example applies here accordingly. For example, mapping a target image portion to a target grid location involves applying an image-to-grid mapping algorithm described herein.

[0127] The method 160 of assisting a control system to control transport device movement in a workspace is implemented by the assistance system in an embodiment. For example, the assistance system includes one or more image sensors for capturing an image representation of the workspace and an interface for acquiring a target image portion of the image. The assistance system is configured to perform the mapping 163, determining 164, and outputting 165 steps of the method 160. For example, the assistance system outputs exclusion zone data for a control system, e.g., a master controller, to receive as input and implement in the workspace. The exclusion zone data may be transferred directly between the assistance system and the control system or may be stored by the assistance system in storage accessible by the control system.

[0128] In an embodiment employing an assistance system, an object detection system configured to detect a defective transport device in the workspace is, for example, part of the assistance system. An interface of the assistance system may obtain target image portions from the object detection system as described in the examples.

[0129] The support system may be incorporated into a storage system 1, such as the example shown in FIG. 7, including a workspace and a control system for controlling transport device movement in the workspace. As described in the example with reference to FIG. 7, the workspace includes a grid 15 formed by a first set 22a of parallel tracks extending in an X direction and a second set 22b of parallel tracks extending in a Y direction, orthogonal to the first set in a substantially horizontal plane. The grid 15 includes a plurality of grid spaces 17, and one or more transport devices 30 are arranged to selectively move around on the tracks 22 to handle containers 10 stacked under the tracks 22 within the footprint of a single grid space 17. Each transport device 30 may have a footprint that occupies only a single grid space 17, such that a given transport device occupying one grid space does not interfere with another transport device occupying or crossing an adjacent grid space.

[0130] As described in the example, the exclusion zone can correspond to a discrete number of grid spaces 17. For example, the assistance system determines a target location on the grid 15 corresponding to a defective transport device 30 detected in an image captured by the camera 71 on the grid 15. The target location is converted to a grid space coordinate for the entire grid, for example based on the calibration method described in the previous example, and the exclusion zone is determined based on the grid space of the target location. For example, the exclusion zone includes at least the grid space of the target location, but may include additional surrounding grid spaces, for example as a buffer area, as described in the example. A control system of the storage system, for example a master controller, is configured to implement the exclusion zone in the workspace based on the exclusion zone data determined by the assistance system, such that the transport device 30 operating in the workspace is prohibited from entering the exclusion zone.

[0131] The above examples should be understood as illustrative examples. Further examples are envisioned. For example, the camera 71 disposed above the grid 15 has been described in many examples as an ultra-wide-angle camera. However, the camera 71 could be a wide-angle camera, which includes a wide-angle lens having a relatively longer focal length than an ultra-wide-angle lens, but still resulting in distortions compared to a normal lens reproducing a field of view that appears "natural" to a human observer.

[0132] Similarly, the described examples include acquiring and processing "images" or "image data." Such images may in some cases be video frames, e.g., selected from a video comprising a sequence of frames. The video may be captured by a camera located on a grid as described herein. Thus, acquiring and processing images should be interpreted as including acquiring and processing a video, e.g., a frame from a video stream. For example, the described neural network may be trained to detect instances of an object (e.g., a carrying device, an ID marker thereon, etc.) in a video stream comprising multiple images. Furthermore, in the described examples involving detecting an ID marker on a carrying device, the image data is processed using a first neural network and a second neural network in succession. However, in alternative examples, the first neural network and the second neural network are merged in an end-to-end ID marker detection pipeline or architecture, e.g., as a single neural network. For example, a method is provided for detecting an identification marker on a transport device in a workspace comprising a grid formed by a first set of parallel tracks extending in an X direction and a second set of parallel tracks extending in a Y direction orthogonal to the first set in a substantially horizontal plane, the grid comprising a plurality of grid spaces, where one or more transport devices are arranged to selectively move in at least one of the X or Y directions on the tracks and to handle containers stacked below the tracks within the footprint of a single grid space.The method comprises acquiring image data representative of an image portion including one or more of the transport devices, processing the image data with at least one neural network trained to detect instances of identification markers on the transport device in the image and to recognize marker information associated with the identification marker in the image, and outputting marker data representative of the marker information determined by the second neural network. In the context of the detection system according to this alternative, the one or more processors are configured to implement at least one neural network trained to detect instances of identification markers on the transport device in the image and to recognize marker information associated with the identification marker in the image. The detection system is configured to process the acquired image data with the at least one neural network to generate marker data (e.g., a text string or code) representative of the marker information (e.g., a descriptor of the transport device) present on (e.g., encoded in) the identification marker on the transport device, and outputting the marker data.

[0133] Further, in the described example of locating the transport device, the location of the detected transport device 30 on the grid 15 can be determined by comparing annotation data indicating the detected transport device in the image with further annotation data corresponding to the multiple virtual transport devices. In an alternative example, the location of the detected transport device 30 on the grid 15 can be determined in a two-step process. First, the multiple virtual transport devices are filtered, which includes, for example, calculating an intersection of unions (IoU) value using the predicted / inferred data of the transport device 30 and the annotation data of all possible locations of the multiple virtual transport devices. For example, virtual transport devices with a calculated IoU value smaller than a predefined threshold are filtered out. Second, all remaining virtual transport devices are sorted (e.g., in ascending order) by the closest distance to the center of the camera's field of view, and the first (e.g., closest) virtual transport device is taken as the mapping. The grid location of the transport device 30 is then set to, for example, the grid location from which the annotation data of the mapped virtual transport device is created.

[0134] In examples employing storage to store data, the storage may be random access memory (RAM), such as DDR-SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory). In other examples, storage 330 may include non-volatile memory, such as read-only memory (ROM), or a solid-state drive (SSD), such as flash memory. Storage may in some cases include other storage media, for example, magnetic, optical or tape media, compact discs (CDs), digital versatile discs (DVDs), or other data storage media. Storage may be removable or non-removable from the associated system.

[0135] In examples employing data processing, a processor may be employed as part of the system in question. The processor may be a general-purpose processor, such as a central processing unit (CPU), microprocessor, graphics processing unit (GPU), digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any suitable combination thereof designed to perform the data processing functions described herein.

[0136] In examples involving neural networks, a dedicated processor may be employed as part of the system involved. The dedicated processor may be an NPU, a neural network accelerator (NNA), or other version of a hardware accelerator dedicated to neural network functions. Additionally or alternatively, the neural network processing workload may be at least partially shared by one or more standard processors, e.g., a CPU or GPU.

[0137] The term "item" has been used throughout the description, but it is envisioned to include other terms, such as case, asset, unit, pallet, equipment, etc. The term "annotation data" has been used throughout the description as well. However, it is envisioned that the term corresponds to prediction data or inference data in alternative nomenclature. For example, an object detection model (e.g., comprising a neural network) may be trained using annotated images, e.g., images with annotations such as bounding boxes, that serve as ground truth for the model, e.g., predictions or inferences with a confidence of 100% or 1 when normalized. These annotations may be made by humans, e.g., for the purpose of training the model. Thus, object detection of the present disclosure may be interpreted as involving outputting prediction or inference data (e.g., instead of "annotation data") to indicate a prediction or inference of a conveying device in an image. The prediction or inference data may be expressed as annotations, e.g., bounding boxes and / or labels, applied to the image. The prediction or inference data may include, for example, a confidence associated with a prediction or inference of a conveying device in an image. Annotations may be applied to the image, for example, based on the generated prediction or inference data. For example, the image may be updated to include a bounding box surrounding the predicted carrying device with a label indicating the confidence level of the prediction, for example, as a percentage value or a normalized value between 0 and 1.

[0138] It should also be understood that features described with respect to any one example may be used alone or in combination with other features described, and may also be used in combination with one or more features of any other of the examples, or in any combination of any other of the examples. Moreover, equivalents and modifications not described above may be employed without departing from the scope of the appended claims.

Claims

1. 1. A computer-implemented method for assisting in controlling movement of one or more transport devices operating in a workspace, the method comprising: obtaining an image representation of the workspace captured by one or more image sensors; obtaining, at an interface, a target image portion of the image representation of the workspace; mapping the target image portion to a target location in the workspace; determining an exclusion zone in the workspace comprising the target location within which the one or more transport devices will be prohibited from entering based on the mapping; outputting exclusion zone data representative of said exclusion zone to a control system for implementing said exclusion zone in said workspace; A computer-implemented method comprising:

2. The method of claim 1 , wherein the target image portion is selected by a user viewing the image representation of the workspace via the interface.

3. The method of claim 2 , wherein the target image portion comprises at least a portion of a defective transport device in the workspace.

4. 3. The method of claim 1 or 2, wherein the workspace comprises a grid of cells, and the one or more transport devices are arranged to move between the cells on the grid, and wherein the target image portion comprises a given cell in the grid of cells.

5. The method of claim 1 , wherein the target image portion is obtained from an object detection system configured to detect a defective transport device in the workspace based on image data representing the workspace.

6. The method of claim 5 , wherein the target image portion comprises at least a portion of a defective transport device in the workspace.

7. The method comprises: acquiring, in the object detection system, the image data representative of the workspace captured by the one or more image sensors; determining that the defective transport device is present in the image data using an object classification model; outputting the target image portion comprising at least a portion of the defective transport device detected in the workspace; The method of claim 6 comprising:

8. the workspace comprises a grid formed by a first set of parallel tracks extending in an X-direction and a second set of parallel tracks extending in a Y-direction orthogonal to the first set in a substantially horizontal plane, the grid comprising a plurality of grid spaces; the transport device is arranged to selectively move on the track in at least one of the X-direction or the Y-direction and to handle containers stacked beneath the track within a footprint of a single grid space. The method according to any one of claims 1 to 7.

9. 9. The method of claim 8, wherein the one or more transport devices each have a footprint that occupies only a single grid space, such that a given transport device occupying one grid space does not interfere with another transport device occupying or crossing an adjacent grid space.

10. The method of claim 8 or 9, wherein the exclusion zone comprises a discrete number of grid spaces.

11. The method of claim 1 , comprising implementing the exclusion zone in the control system such that the one or more transport devices are prohibited from entering the exclusion zone.

12. The method of claim 1 , wherein the mapping comprises inverting a distortion of the image representation of the workspace.

13. 1. An assistance system for assisting a control system for controlling movement of a transport device in a workspace, said assistance system comprising: an image sensor for capturing an image representation of the workspace; an interface for obtaining a target image portion of the image representation of the workspace; Equipped with wherein the assistance system comprises: mapping the target image portion to a target location in the workspace; determining an exclusion zone in the workspace comprising the target location, within which one or more transport devices are prohibited from entering, based on the mapping; outputting exclusion zone data representative of the exclusion zone to the control system for implementing the exclusion zone in the workspace; The assistance system is configured to:

14. The system of claim 13 , wherein the interface is for a user viewing the pictorial representation of the workspace to select the target image portion.

15. an object detection system configured to detect a defective transport device in the workspace based on image data representing the workspace; wherein the interface acquires the target image portion from the object detection system. Assistance system according to claim 13 or 14.

16. The assistance system of claim 15 , wherein the target image portion comprises at least a portion of a defective transport device in the workspace.

17. The object detection system includes: acquiring the image data representative of the workspace captured by the image sensor; determining that the defective transport device is present in the image data using an object classification model; outputting the target image portion comprising at least a portion of the defective transport device detected in the workspace; 17. The assistance system according to claim 15 or 16, configured to:

18. The working space and An assistance system according to any one of claims 13 to 17; a control system for controlling movement of the transport device through the workspace; A storage system comprising: wherein the workspace comprises a grid formed by a first set of parallel tracks extending in an X direction and a second set of parallel tracks extending in a Y direction orthogonal to the first set in a substantially horizontal plane, the grid comprising a plurality of grid spaces; 11. A storage system, wherein one or more transport devices are arranged to selectively move on said track in at least one of said X-direction or said Y-direction and to handle containers stacked beneath said track within the footprint of a single grid space.

19. 20. The storage system of claim 18, wherein the one or more transport devices each have a footprint that occupies only a single grid space such that a given transport device occupying one grid space does not interfere with another transport device occupying or crossing an adjacent grid space.

20. 20. A storage system according to claim 18 or 19, wherein the exclusion zone comprises a discrete number of grid spaces.

21. 21. The storage system of claim 18, wherein the control system is configured to receive exclusion zone data from the support system and to implement the exclusion zone in the workspace such that the one or more transport devices are prohibited from entering the exclusion zone.