Coordinated conveyors in an automated system

By introducing a coordinated system of multiple storage conveyors and transport conveyors into the automated system, and using hardware processors and software modules to control the movement of goods, the problem of relying on human operation for goods handling and picking in the existing technology is solved, and an efficient, safe, and low-cost automated logistics system is realized.

CN117141997BActive Publication Date: 2026-06-12TEAM CONVEYOR ROYALTY A LLC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TEAM CONVEYOR ROYALTY A LLC
Filing Date
2020-03-19
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

In existing automated systems, the handling and picking of items still rely on human operation, resulting in inefficient, high-risk, costly, and complex mechanical systems that are difficult to fully automate.

Method used

A coordinated system of multiple storage and transport conveyors is adopted, which controls the movement of items between conveyors through hardware processors and software modules to achieve automated item handling and picking, and optimizes system efficiency by using location-time identifiers.

🎯Benefits of technology

It achieves full automation of goods handling and picking, improving efficiency, reducing safety risks and system costs, and reducing reliance on complex mechanical systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117141997B_ABST
    Figure CN117141997B_ABST
Patent Text Reader

Abstract

Coordinated conveyors in an automated system. In embodiments, the system includes a transport conveyor; a plurality of storage conveyors, each storage conveyor including a portion that aligns with a portion of the at least one transport conveyor such that an item is movable from any one of a plurality of sections in a storage conveyor to any one of a plurality of sections in the at least one transport conveyor; at least one hardware processor; and a software module that receives instructions, for each item, identifies one of the plurality of storage conveyors, a section of a plurality of sections in the identified storage conveyor on which the item is held, aligns the identified section with one of a plurality of sections in the at least one transport conveyor, moves the item from the identified section onto the one section, controls the at least one transport conveyor to align the one section with a single destination location, and moves the item from the one section to the single destination location.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese national phase patent application with application number 202080040714.9, which was filed on December 1, 2021, after the international application PCT application with application number PCT / US2020 / 023718, international application date March 19, 2020, entitled "Coordinated Conveyor in an Automated System".

[0002] Cross-references to related applications

[0003] This application claims priority to U.S. Provisional Patent Application No. 62 / 832,701, filed April 11, 2019, and U.S. Provisional Patent Application No. 62 / 898,414, filed September 10, 2019, both of which are hereby incorporated herein by reference as if fully set forth herein. Background Technology Technical Field

[0004] The implementation scheme described herein generally involves automation, and more specifically the coordination of multiple conveyors within an automated system.

[0005] Description of related technologies

[0006] From the Stone Age to the modern era, civilized societies have consistently used the same basic method for storing goods: handling, stacking, picking, and transporting (CSPC). This method of storage has persisted because of the remarkable versatility of human movement. The human arm, managed by a goal-oriented intelligent processor (the human brain), along with its collaborative, grasping-oriented hand, exceptional tactile sensing, and visual coordination, makes CSPC highly efficient.

[0007] Refrigerators, freezers, cabinets, lockers, drawers, and closets are common examples of CSPC systems and represent a subset of storage systems in every home. The process is the same in small shops, supermarkets, pickup centers, and large fulfillment centers, but the scale differs. CSPC systems range in size from clinical laboratory testing (where samples, reagents, and reactors are stacked and picked manually or automatically) to home warehouses, retail stores, and supermarkets, and then to warehouses and large retail fulfillment centers. In all these systems, the underlying model is exactly the same. The characteristic feature is that, in all these systems, the stored items are on fixed shelves.

[0008] For example, all fulfillment systems employ the same process. In large-scale fulfillment centers, there are hundreds of human stackers and pickers. During an average shift, stackers can walk up to 13 miles with their carts and ladders to stack instances of 160,000 stock keeping units (SKUs) onto acres of shelving. To assemble and ship shopping lists, hundreds of human pickers also walk 13 miles per shift with their carts and ladders, collecting customers' shopping lists into tote bags that go to the packers' teams.

[0009] Similarly, in a traditional shopping trip, customers would make a shopping list, drive to the store, find, select, and pick items from designated shelves, put them in a shopping cart, check out, pack the items, move the packed items to their car, load the packed items into the car, and drive home. In the past, stores were happy to let customers do all this carrying and picking themselves. However, the rise of online shopping has forced a dramatic change by focusing on customer convenience in the grocery and other consumer goods markets. Specifically, driven by the convenience of online shopping, brick-and-mortar stores now take on many of the tasks involved in a traditional shopping trip.

[0010] Analytically, most of these tasks simply involve moving individual items for sale from one space to another, and recording ownership transfers and associated costs. In most cases, this movement of items is still performed manually by store staff or customers. While automation in CSPC has great potential, the current approach to automation in fulfillment systems is to use automation to assist human stackers, pickers, and packers to accelerate their throughput, but not replace them. Many companies now manufacture Automated Mobile Manipulation Robots (AMRs), Autonomous Guided Vehicles (AGVs), and Vision Guided Robots (VGRs). For example, Amazon... TM Multi-billion dollar automation programs are currently underway. In approximately 50 of the world's 185 large fulfillment centers, 200,000 "Roomba" type AMRs are used. These AMRs pick 48-inch sections or stacks of storage racks and bring them to stackers and pickers to speed up their work by reducing walking time. This more than doubles the throughput for ten-hour shifts, but it imposes harsh working conditions on stackers and pickers, who must be stationed at their stations to place or pick up up to 300 items per hour from carts on the floor or ladders onto fixed racks, these items weighing up to 50 pounds and stored at both high and low levels. Other companies using similar robotic vehicles are undertaking other automation projects for order fulfillment. All of these systems still require human stackers and pickers because AMRs with grippers versatile enough to pick items of different sizes and shapes from stacks are still unavailable and estimated to be at least a decade away.

[0011] Furthermore, the vehicles used in these fulfillment systems require complex navigation. The vehicles must avoid collisions and falling objects while moving (e.g., rotating, accelerating, decelerating, etc.). In addition, the vehicles require recharging, maintenance, and eventual scrapping. Safety issues also exist. Many autonomous vehicles must operate in large, open areas, and only specialized maintenance workers wearing special jackets that the autonomous vehicles can detect and avoid are permitted within these areas.

[0012] At the microscopic scale, the same CSPC principle applies. For example, the same CSPC system used in execution systems is employed in automated diagnostic instruments. Samples, reagents, and reactors are stacked within the automated instrument. To perform individual tests, carefully labeled items must be picked and moved in and out of the analysis station. Conventional diagnostic instruments utilize sophisticated robots to move items internally. Such robots typically require multiple mechanical systems that usually perform complex, highly controlled movements in three dimensions. Furthermore, items often need to be moved between different areas within the automated system responsible for different processes (e.g., via robotic arms with grippers). Therefore, the cost of building and maintaining such systems can be very high.

[0013] In summary, current automation methods mimic human CSPC (Conveyor-Support-Process Control) methods, using robots for handling, fixed racks for stacking, and complex robotic arms with gripper 'hands' for picking. Therefore, a fundamental change is needed to the CSPC methods used for automation, preferably one that does not rely on the complex transport and mechanical robots currently employed in conventional automation systems. Summary of the Invention

[0014] Therefore, systems, methods, and non-transitory computer-readable media for providing and coordinating multiple conveyors within an automated system are disclosed.

[0015] In one embodiment, a system is disclosed comprising: at least one transport conveyor; a plurality of storage conveyors, each of the plurality of storage conveyors including a plurality of segments configured to hold at least one item, and each of the plurality of storage conveyors including a portion aligned with a portion of the at least one transport conveyor, such that an item can be moved from the storage conveyor to the at least one transport conveyor; at least one hardware processor; and one or more software modules configured, when executed by the at least one hardware processor, to: receive an instruction to collect one or more items at a single destination location, and for each of the one or more items, to identify a segment on one of the plurality of storage conveyors on which the item is held, to control the one storage conveyor to align the identified segment with the at least one transport conveyor, to move the item from the identified segment onto the at least one transport conveyor, to control the at least one transport conveyor to align the item with the single destination location, and to move the item from the at least one transport conveyor to the single destination location.

[0016] In an implementation, the at least one hardware processor may be configured to independently control each of the at least one transport conveyor and the plurality of storage conveyors so that they move independently of each other. The at least one transport conveyor and the plurality of storage conveyors may be configured to move in two directions. Each of the plurality of storage conveyors may be oriented to move in a direction orthogonal to the direction of movement of the portion of the at least one transport conveyor aligned with the storage conveyor. Each of the plurality of storage conveyors may include a vertical loop, wherein a holding surface of each of the plurality of storage conveyors is positioned above the holding surface of the at least one transport conveyor, and wherein moving an item from an identified segment onto the at least one transport conveyor includes moving the identified segment toward the at least one transport conveyor until the item falls from the storage conveyor onto the at least one transport conveyor. The system may further include a chute between a portion of each of the plurality of storage conveyors aligned with a portion of the at least one transport conveyor and the at least one transport conveyor, wherein dropping the article from the one storage conveyor onto the at least one transport conveyor comprises dropping the article into the chute provided with a downward sliding path to the at least one transport conveyor. The portion of each of the plurality of storage conveyors aligned with the portion of the at least one transport conveyor may be movable in a direction parallel to the direction of movement of the portion of the at least one transport conveyor to which the portion of the storage conveyor is aligned. Each of the plurality of storage conveyors may include a horizontal loop, wherein a holding surface of each of the plurality of storage conveyors is positioned above a holding surface of the at least one transport conveyor, and wherein moving the article from an identified section onto the at least one transport conveyor comprises pushing the article away from the identified section into a chute that provides a downward sliding path toward the at least one transport conveyor. Moving an item from the identified section onto the at least one transport conveyor may further include: the item awaiting to be pushed sliding into a box at the end of a downward sliding path; and pushing the box onto a holding surface of the at least one transport conveyor.

[0017] In one embodiment, the at least one transport conveyor comprises a plurality of nested conveyors. The plurality of storage conveyors may be arranged as a plurality of separate storage systems, each of which includes two or more of the plurality of storage conveyors. Each of the plurality of separate storage systems may include at least one more of the plurality of storage conveyors stacked on top of at least one of the plurality of storage conveyors.

[0018] Each of the plurality of storage conveyors can be configured to move in two directions, wherein the one or more software modules are configured, when executed by the at least one hardware processor, to: determine in which of the two directions to move the storage conveyor to minimize movement; and control the storage conveyor to move in the determined direction. Each of the at least one transport conveyor and each of the plurality of storage conveyors can be configured to stop at each of a plurality of indexing positions.

[0019] The storage conveyor may include a cooling component for cooling a holding surface of the storage conveyor, wherein the one or more software modules, when executed by the at least one processor, control the cooling component to cool the holding surface of the storage conveyor. The storage conveyor may also include a heating component for heating the holding surface of the storage conveyor, wherein the one or more software modules, when executed by the at least one processor, control the heating component to heat the holding surface of the storage conveyor. The ambient temperature of the storage conveyor may be controllable, wherein the one or more software modules, when executed by the at least one processor, control the ambient temperature of the storage conveyor to maintain a temperature or keep it within a temperature range.

[0020] In one embodiment, the system further includes one or more reading stations, each including a reader device configured to read characteristics of items held on a segment of at least one of the at least one transport conveyor or a plurality of storage conveyors. The reader device may include a camera configured to capture images of machine-readable markings on the read items, wherein the one or more software modules are configured, when executed by the at least one hardware processor, to: identify the read items from the images; identify the segments on which the read items are held; and map an identifier of the read items to an identifier of the identified segments. The identifier of the identified segments may include a surface vector that uniquely identifies the location on the surface of the conveyor where the read items are held, wherein the one or more software modules are configured, when executed by the at least one hardware processor, to map the surface vector to a ground vector that uniquely identifies the location of the identified segments within the automated system. In an implementation, the system further includes one or more reading stations, each including a reader device configured to read machine-readable markings on sections of at least one of the at least one transport conveyor or at least one of the plurality of storage conveyors, wherein the one or more software modules are configured to: identify sections based on the read machine-readable markings; and determine the location of the identified sections based on the location of the reader device.

[0021] The system may further include: a building surrounding the at least one transport conveyor and the plurality of storage conveyors; and a destination system including multiple destination locations accessible by the at least one transport conveyor. The destination system may include multiple lockers as the plurality of destination locations. The one or more software modules may also be configured, when executed by the at least one hardware processor, to: receive instructions from a web application via at least one network to collect one or more items; and to provide the web application via at least one network with an identifier for a locker corresponding to a single destination location. The building may include a forty-foot shipping container, wherein the destination system is capable of being attached to and detached from the shipping container.

[0022] In the implementation, each of a plurality of entities is associated with a location-time identifier, wherein the plurality of entities includes all items within the system, and wherein each location-time identifier of each entity includes: a surface vector that identifies the entity's relative position on a surface; and a time vector that identifies the time at which the entity is located at the relative position identified in the surface vector. The one or more software modules may be configured to store each location-time identifier associated with its associated item for each item within the system as the time vector changes, to create a log of each location-time identifier associated with each item within the system from the time the item enters the system until the time the item leaves the system. The one or more software modules may also be configured to generate measurements of system efficiency based on the logs. The one or more software modules may be configured to coordinate the movement of items within the system based on the location-time identifiers associated with items within the system to optimize the efficiency measurements. Each location-time identifier of each entity may also include a component vector that indicates the component on which the surface is located. Each location-time identifier of each entity may also include a ground vector that identifies the entity's position relative to the ground beneath the system. The one or more software modules can be configured to store each location-time identifier in association with its associated entity as the time vector and ground vector change within a time period, to create a log of each location-time identifier associated with each of the plurality of entities within that time period. Each location-time identifier for each entity may also include a vector identifying the type of that entity. The plurality of entities may also include all segments of the plurality of storage conveyors. The one or more software modules can be configured to determine the location-time identifier of an item when each item in the system is first stacked on one of the plurality of storage conveyors or the at least one transport conveyor. The one or more software modules can be configured to schedule the movement of items within the system based on the location-time identifiers associated with those items within the system. The system may also include multiple processing stations, each configured to process accessible items on at least one of the multiple storage conveyors or at least one transport conveyor, and wherein one or more software modules are configured to coordinate the movement of two or more items based on location-time identifiers associated with a set of two or more items stored on the multiple storage conveyors, such that each of the two or more items simultaneously becomes accessible to a corresponding processing station among the multiple processing stations at a pre-scheduled time. The one or more software modules may be configured to: track each item within the system; and, based on the tracking, automatically initiate reloading of each type of item through communication with external systems in the supply chain.

[0023] In one implementation, a method is disclosed that includes: using at least one hardware processor within an automated system to operate the following: the automated system includes at least one transport conveyor and a plurality of storage conveyors, each of the plurality of storage conveyors including a plurality of sections configured to hold at least one item, and each of the plurality of storage conveyors including a portion aligned with a portion of the at least one transport conveyor, such that an item can be moved from the storage conveyor to the at least one transport conveyor; the operation includes: receiving an instruction to collect one or more items at a single destination location; and for each of the one or more items, identifying a section on one of the plurality of storage conveyors on which the item is held, controlling the one storage conveyor to align the identified section with the at least one transport conveyor, moving the item from the identified section onto the at least one transport conveyor, controlling the at least one transport conveyor to align the item with the single destination location, and moving the item from the at least one transport conveyor to the single destination location. The method may also include any functions or processes described above and herein with respect to the system.

[0024] In one embodiment, a non-transitory computer-readable medium storing instructions is disclosed. The instructions, when executed by a processor of an automated system, can cause the processor to perform operations including at least one transport conveyor and a plurality of storage conveyors. Each of the plurality of storage conveyors includes multiple sections configured to hold at least one item, and each of the plurality of storage conveyors includes a portion aligned with a portion of the at least one transport conveyor, enabling the item to move from the storage conveyor to the at least one transport conveyor. The operations include: receiving an instruction to collect one or more items at a single destination location; and for each of the one or more items, identifying a section on one of the plurality of storage conveyors that holds the item, controlling the one storage conveyor to align the identified section with the at least one transport conveyor, moving the item from the identified section onto the at least one transport conveyor, controlling the at least one transport conveyor to align the item with a single destination location, and moving the item from the at least one transport conveyor to the single destination location. The instructions can also cause the processor to perform any functions or processes described above and herein with respect to the system. Attached Figure Description

[0025] Details of the invention, both in terms of its structure and operation, can be gathered in part by studying the accompanying drawings, in which similar reference numerals denote similar parts, and in the drawings:

[0026] Figures 1A-1F This is a view of an exemplary system of a conveyor according to an implementation scheme, wherein one or more of the processes described herein may be implemented;

[0027] Figure 2 An example processing system is shown that can perform one or more of the processes described herein, according to an implementation scheme;

[0028] Figure 3A and Figure 3B An example is shown of how the movement of the conveyor can be coordinated according to the implementation scheme; and

[0029] Figure 4 The use of a conveying system according to the implementation scheme in a process for automating the collection of items is shown. Detailed Implementation

[0030] In the embodiments, systems and methods for providing and using coordinated, potentially bidirectional conveyors within an automated system are disclosed. Upon reading this specification, it will become apparent to those skilled in the art how the invention can be practiced in various alternative embodiments and applications. However, although various embodiments of the invention will be described herein, it should be understood that these embodiments are shown by way of example and illustration only and are not intended to be limiting. Therefore, this detailed description of the various embodiments should not be construed as limiting the scope or breadth of the invention as set forth in the appended claims.

[0031] The disclosed conveyor technology can be used in macro-scale settings such as warehousing or retail fulfillment, micro-scale settings such as automated diagnostic instruments, and anywhere in between. In embodiments particularly suitable for fulfillment settings, the conveyor system may include the storage of items on stacked disc conveyors in multiple concourses. The storage disc conveyors can carry and move items, which can be identified by their coordinates on the surface of the disc conveyor. While the disc conveyors store items holistically, they can use, for example, a simple automated push mechanism to move individually stored items to specific locations. Additionally or alternatively, the disc conveyors may transport racks or boxes on the conveyor to a stacker, enabling the stacking of items in identified locations on the conveyor. The position coordinates on the conveyor can be used as identifiers for the specific items stacked at these locations. This approach is far more natural for automation because it does not require stackers to go anywhere except to a single stacking port. Furthermore, human pickers are no longer needed. The need for expensive robotic gripper arms is also avoided.

[0032] In this implementation, the conveyor of the disc conveyor belt can be moved by a simple rack and pinion mechanism, driven by a stepper motor or servo motor. This provides high system reliability because stepper motors and servo motors have a simple structure and are very robust, strong, and reliable with virtually no failures. Stepper motors and servo motors also provide complete control over linear motion (e.g., clockwise and counterclockwise rotation) and speed, allowing the processor to precisely control the stopping, starting, and movement of the disc conveyor belt.

[0033] The use of conveyors (e.g., running on tracks) eliminates the extremely sophisticated navigation patterns and collision avoidance required by robotic vehicles. Furthermore, disc conveyors are far safer than robotic vehicles because humans can work safely near them. However, there is no longer a need for humans to pick items. This means disc conveyors can be stacked much higher because they do not need to be human-accessible, reducing the required warehouse square footage by more than 50%. Additionally, the motors for disc conveyors do not need to be on the moving objects, eliminating the need for charging any batteries.

[0034] In the implementation, Location-Time Identification (PTID) is used to identify stored items, the storage and transport conveyors on which these items are stored, and / or other (potentially all) components of the system, including, for example, processing stations. PTID means that the processing system controlling the conveying system can record what it must move, its position on which conveyor, where it is moved, and when it is moved. This allows the supervisory control system to track every moved item, every event that occurs, and the workload of each processing station, and to store a detailed history of daily operations. This makes it possible to schedule daily operations with a high level of detail and granularity. It also enables the creation of detailed computer models that accurately track the physical operation of the system in real time. Furthermore, data analytics can be applied to the tracked data, thereby significantly improving system efficiency.

[0035] The disclosed implementations can provide full automation of "picking" in a storage and fulfillment system using mobile storage racks that transport the stored items as a whole. These items can be identified by coordinates on the mobile storage racks, allowing selected, individually stored items to be popped out at the appropriate station via a simple push mechanism. Therefore, some implementations can completely eliminate the need for human pickers or robotic pickers to pull items from the racks.

[0036] 1. System Overview

[0037] 1.1. Conveyor Overview

[0038] For ease of understanding, movement within the system can be described here using a Cartesian coordinate system of X, Y, and Z, along with a time dimension and a "what" dimension. Regarding the accompanying top view, the Z-axis extends orthogonally through the page, while the X and Y axes lie in the plane of the page and are orthogonal to each other. Regarding the perspective view, the Z-axis extends substantially vertically through the system shown, while the X and Y axes lie in a plane orthogonal to the Z-axis.

[0039] Figure 1A This is a top view of an exemplary conveyor system according to an embodiment. In the illustrated embodiment, each conveyor 110 in system 100 is circular in the plan view. However, one or more (including all) of the conveyors 110 may alternatively be elliptical, linear, square, rectangular, or any other shape in the plan view. In embodiments using circular or elliptical conveyors 110, the conveyors 110 may be referred to as "disc conveyors". Each disc conveyor 110 rotates about a Z-axis and, when concentric, about the same point as each other disc conveyor 110. Regardless of the specific shape or arrangement, the holding surface (e.g., top surface) of each conveyor 110 may be divided into multiple segments 112, each of which is configured to hold at least one article 114.

[0040] Multiple conveyors 110 are shown concentrically in a plan view, wherein conveyor 110A is nested within or surrounded by conveyor 110B, conveyor 110B is nested within or surrounded by conveyor 110C, and so on. In one embodiment, the top surface of each conveyor 110 lies in the same XY plane as the top surface of each other conveyor 110. However, other configurations are possible. For example, the top surfaces of two or more (including all) of the conveyors 110 may lie in different XY planes. In this case, two or more conveyors 110 whose top surfaces lie in different planes may overlap in a plan view. In one embodiment, all conveyors 110 may have the same radius, and their top surfaces may lie in different XY planes, all of which are orthogonal to the Z-axis. In other words, the conveyors 110 may be stacked along the Z-axis.

[0041] Figure 1B This is a perspective view of an exemplary conveyor system according to an embodiment. In the illustrated embodiment, multiple nested conveyors 110 are stacked along the Z-axis. The conveyor system 100 may include any number of stacked conveyors 110 and is generally limited only by the height of the automation system and the spacing required between the stacked conveyors 110 to accommodate items 114 on the holding surface of the conveyor.

[0042] As shown in the figure, each conveying system 100 may include multiple conveyors 110A to 110N. Alternatively, each conveying system 100 may include only a single conveyor 110. The number of conveyors 110 within each conveying system 100 will generally depend on how the conveyors 110 are used within the conveying system 100, the desired throughput, and / or other design objectives. Therefore, the number of conveyors 110 can be one, two, three, four, or any integer N, such as Figure 1A and Figure 1B As shown. Additionally, one or more of the conveyors 110 may be inclined, may rotate vertically instead of horizontally, may be positioned at an angle, etc. In the illustrated embodiment, the conveyors 110 are spaced equidistant from each other. However, in alternative embodiments, the distance between the conveyors 110 may vary in the XY plane and / or along the Z-axis.

[0043] Figure 1C This is a top view of an exemplary conveyor system according to another embodiment. In the illustrated embodiment, there are two nested conveyors 110X and 110Y transporting items within the conveyor system 100. However, in alternative embodiments, there may be only a single transport conveyor 110 or three or more such transport conveyors 110. In embodiments with multiple transport conveyors 110, each transport conveyor 110 may be adjacent to and parallel to one or more of its neighboring transport conveyors 110. Adjacent transport conveyors 110 may be flush with each other or spaced at any distance. Preferably, adjacent transport conveyors 110 are spaced close enough to prevent items 114 from falling or getting stuck between them.

[0044] As shown in the figure, the conveying system 100 may include “finger-like structures” extending between the storage systems 120. In this case, each storage system 120 may include multiple storage conveyors 110A that hold items 114 for storage. For example, each storage conveyor 110A may store multiple items 114 of the same type and is configured to load these items 114 onto a segment 112 of a transport conveyor 110 (e.g., 110X or 110Y) in front of that storage conveyor 110A. The conveying system 100 may include any number of storage systems 120. The storage systems 120 in the conveying system 100 may all be the same size, or, as shown, may differ in size (e.g., in the number of storage conveyors 110A, the width and / or length of the storage conveyors 110A, etc.).

[0045] Each storage conveyor 110 can move in a direction orthogonal to the direction of movement of the adjacent transport conveyor 110. For example, a storage conveyor 110 that can be included in a loop in the YZ plane can be configured to move along the Y-axis, while the adjacent transport conveyor 110 is configured to move along the X-axis. In this way, the storage conveyor 110 can move the item 114 toward and onto a segment 112 of the transport conveyor 110. Specifically, the storage conveyor 110A can rotate the segment 112 facing upward and holding the item 114 until the segment 112 rotates to the end of the range of the storage conveyor and rotates downward to the return portion of the loop, thereby causing the item 114 to move from the edge of the storage conveyor 110A onto the segment 112 of the transport conveyor 110X or into a chute that provides a downward sliding path onto the segment 112 of the transport conveyor 110X. In an alternative implementation, the storage conveyor 110 in the storage system 120 can be replaced by a fixed storage shelf for storing items 114, which are pushed onto section 112 of the transport conveyor 110 (e.g., by a robot pusher, a spiral, etc.).

[0046] The transport conveyor 110 can transport items 114 to a destination system 130. In an embodiment, the destination system 130 may include a retrieval shelf 132 on which a collection of items 114 is stored, or a storage area thereon where a collection of items 114 is stored for retrieval or further processing. For example, as a section 112 of the transport conveyor 110 holding a particular item 114 passes over a particular shelf 132, a robotic pusher or gripper may move the particular item 114 from the transport conveyor 110 onto the particular shelf 132. This can be done for multiple different items 114, thereby creating a collection of items 114 on the particular shelf 132. In this way, individual items 114 can be retrieved from various locations on the storage conveyor 110 and collected together on a single shelf 132.

[0047] In one implementation, the destination system 130 may include multiple lockers. Each locker may include a shelf 132. Each shelf 132 is accessible from the rear of the transport conveyor 110 and also from the front (e.g., via an openable, closable, and potentially lockable door). Thus, for example, a customer may (e.g., via an online store) select multiple consumer items, and the automated system may retrieve the selected consumer items from the storage conveyor 110 onto the transport conveyor 110 and collect the retrieved consumer items by pushing them from the transport conveyor 110 through the rear access opening of the shelf 132 onto the shelf 132 for subsequent customer pickup and / or purchase.

[0048] Figure 1D It is based on the implementation plan. Figure 1CThe diagram shows a perspective view of the conveyor system. In the illustrated embodiment, multiple transport conveyors 110 are stacked along the Z-axis. Similarly, the automation system may include any number of stacked transport conveyors 110, and is generally limited only by the height of the automation system and the spacing between the conveyors 110 required to accommodate items 114. For ease of illustration, Figure 1D Storage system 120 is not shown. However, it should be understood that storage system 120 may also include stacked storage conveyors 110A in a similar manner, wherein each level of storage system 120 corresponds to a level of transport conveyor 110. Alternatively, storage system 120 may include stacked storage conveyors 110A, with all transport conveyors 110 on the same level as the lowest level of stacked storage conveyors 110A or on a single level below the lowest level of stacked storage conveyors 110A. In this case, chute can provide a downward sliding path between each level of stacked storage conveyors 110A and the single level of transport conveyor 110.

[0049] Figure 1E This is a top view of an exemplary conveyor system according to another embodiment. In this embodiment, conveyor system 100 includes transport conveyors 110X and storage systems 120A-120N, each storage system including at least one storage conveyor 110A. Although only a single storage conveyor 110A is shown in each storage system 120, one or more, and potentially all, of the storage systems 120 may include multiple nested storage conveyors 110. Transport conveyor 110X may also include multiple nested conveyors 110. The system may include any number of storage systems 120, including a single storage system 120 or any number of storage systems 120. Essentially, the storage conveyor 110A can be used as a mobile shelving unit in place of a fixed shelving unit in a conventional system.

[0050] Figure 1F It is based on the implementation plan. Figure 1E The diagram shows a side view of a storage system 120 within a conveyor system. In this embodiment, each storage system 120 may include multiple stacked storage conveyors 110A. Each storage system 120 may include any number of stacked storage conveyors 110A, including a single storage conveyor 110A or any combination of storage conveyors 110A (e.g., eight stacked storage conveyors 110A, twenty stacked storage conveyors 110A, etc.). For example, in a warehouse, storage systems 120 may be stacked into multiple levels (e.g., thirty levels of storage systems 120). Each stack of storage systems 120 may be referred to herein as a “convergence point.”

[0051] Each storage conveyor 110A may include a segment 112, each segment holding one or more items 114. More generally, each storage conveyor 110 in any embodiment may be divided into such segments 112. A segment 112 may hold a single item 114, or it may hold multiple items 114 (e.g., a holder for items 114). If a segment 112 holds multiple items 114, the items 114 may be aligned on the segment 112 in a radial line extending laterally across the storage conveyor 110A (i.e., orthogonal to the direction of movement).

[0052] Each storage system 120 can store items 114 on a section 112 of a storage conveyor 110A. Items within a single storage system 120 can be related items 114 of the same or similar type (e.g., the same SKU), or they can be unrelated items 114 of different types (e.g., different SKUs). Any section 112 of the storage conveyor 110A can be rotated to a station 140 configured to unload at least one item 114 from section 112 into a chute 150. For example, station 140 may include a robotic pusher that pushes items 114 from section 112 in front of station 140 into chute 150. If section 112 holds multiple radially aligned items 114, station 140 may be configured to unload only one item 114 at a time. For example, in an embodiment where station 140 includes a robotic pusher, the robotic pusher may be configured to push only a distance that ensures a single item 114 is pushed into chute 150 at a time. Alternatively, the processing system 200 may determine the number of items 114 to be pushed in a single operation and control the robot pusher to move a distance sufficient to push only the determined number of items 114 into the chute 150 (e.g., using a precise spiral push system, such as those used in vending machines).

[0053] Although two sloping chutes 150 are shown for each storage system 120 in the plan view, each storage system 120 may include any number of sloping chutes 150, including a single sloping chute 150 or three or more sloping chutes 150. The number of sloping chutes 150 may be equal to the number of segments 112 on each storage conveyor 110A aligned (e.g., facing) with the transport conveyor 110X. Each station 140 may include separate robot actuators for each sloping chute 150 (e.g., two robot actuators for two sloping chutes 150). Additionally, there may be N stacked sloping chutes 150, such as... Figure 1FThe side view is shown. Specifically, each level of the storage conveyor 110A in the storage system 120 may have at least one chute 150. Furthermore, in embodiments where the transport conveyor 110X comprises a plurality of nested conveyors 110, each level may include a plurality of chute 150s for a single segment 112 of the storage conveyor 110A to provide a path for each nested conveyor of the transport conveyor 110X. Alternatively, a single chute 150 may be movable (e.g., via an automated robot) to alter the source and / or destination of paths between segments 112 of the storage conveyor 110A, levels of the storage system 120, and / or transport conveyors 110X.

[0054] Once item 114 is pushed into chute 150, it will travel down chute 150 into box 160. For example, each segment 112 of conveyor 110X can be configured to hold or include box 160. When segment 112 of conveyor 110X holding box 160 (which will receive item 114 from storage system 120 at a particular chute 150) reaches the vicinity of chute 150, box 160 can be removed from segment 112 of conveyor 110X and placed below chute 150. Box 160 can be moved by any known means, including robotic pushers or pullers.

[0055] Therefore, the items 114 in the chute 150 slide down the chute 150 into the bin 160. In this way, items 114 from multiple storage conveyors 122 can be collected into a single bin 160. For example, items 114 can be collected into a single bin 160 from two or more stacked storage conveyors 110A in the same storage system 120 or from two or more storage conveyors 110A in different storage systems 120. Once the bin 160 has been loaded with all the items to be received at a particular storage system 120 or via a particular chute 150, the bin 160 can be loaded back onto section 112 of the transport conveyor 110X. Again, this can be performed by any known device, including robotic pushers or pullers.

[0056] In an implementation utilizing the junctions of stacked storage systems 120, selected items 114 can slide from any level of the stack into the same bin 160 via chute. For example, if each storage system 120 in the stack has two hundred sections, a junction comprising thirty storage systems 120 would provide random access to any of 6,000 SKUs. In other words, the junction could store 6,000 different SKUs. This configuration can be adjusted, for example, by adding additional junctions. For instance, thirty junctions (each thirty levels high) could provide random access to 180,000 different SKUs, and a set of selected items 114 could begin picking within seconds of a customer order, without requiring any human pickers.

[0057] Although the conveyor system 100 is shown and described as pushing items 114 into the chute 150 to transfer items 114 from the storage conveyor 110A to the container 160, other mechanisms that do not utilize robotic pushers and / or the chute 150 can be used for transferring items 114 from the storage conveyor 110A to the container 160. Additionally, although the container 160 is shown as being removed from the transport conveyor 110X while loaded with items 114, in an alternative embodiment, the container 160 can be held on the transport conveyor 110X while loaded with items 114. This eliminates the need for any mechanisms for moving the container 160 onto and from the transport conveyor 110X.

[0058] Although station 140 is described primarily in relation to the mechanism that moves items 114 from storage conveyor 110, other types of stations 140 may also be considered. For example, an automated reading station 140 may be located near the stacking port to read machine-readable markings on items 114 loaded onto conveyor 110 and throughout the conveying system 100 using instruments such as cameras to record movement.

[0059] In an alternative implementation, instead of conveyor 110, the confluence may include fixed holding shelves for storing items 114. Pushing mechanisms may be located behind each shelf to push items 114 into the chute 150 at appropriate times. However, this alternative implementation would require numerous pushing mechanisms (e.g., one for each type of item stored at the confluence) and does not achieve the versatility of the primary implementation in which conveyor 110 is used to store items 114.

[0060] The transport conveyor 110X can move groups of items 114 collected from one or more storage systems 120 to a destination system 130. The destination system 130 can be a manual or automated packing and shipping system (e.g., in a warehouse), lockers or checkout counters in a physical store, and / or any other system that can utilize the collection of items 114.

[0061] The conveying system 100 may include a loading area 170. The loading area 170 may be an automated system for moving items 114 from a transport truck onto a storage conveyor 110A. Alternatively, the loading area 170 may simply allow access to the storage conveyor 110A, allowing a loader or stacker to manually move items 114 from the transport truck onto the storage conveyor 110A. In this case, the loading area 170 may also be referred to herein as a “stack port.” Items 114 may be loaded and automatically inventoried by the handling system 200, as described elsewhere herein. Although the loading area 170 is shown on the side of the storage system 120 opposite the chute 150, the loading area 170 may be located on either side of the storage system 120. Additionally, although not shown, the loading area 170 may also exist elsewhere. Figures 1A-1D In any of the embodiments shown. It should be understood that loading area 170 may be positioned to provide direct access to storage conveyor 110A of storage system 120, or to provide indirect access to storage system 120 via transport conveyor 110.

[0062] Figures 1A-1F Different shape profiles of the conveyor system 100 are shown. It should be understood that other shape profiles are possible depending on the intended use and / or desired layout of the conveyor system 100 (e.g., ground floor area). Regardless of the specific shape profile, in a preferred embodiment, each conveyor 110 can move in two directions (e.g., clockwise and counterclockwise in a plan view for a disc conveyor belt, forward and backward for a linear conveyor, etc.). It should be understood that any characteristics described herein with respect to the transport conveyor 110 can also be shared by the storage conveyor 110 and vice versa.

[0063] In one embodiment, each conveyor 110 may be driven by its own drive rack and pinion system motor, such as a stepper motor, servo motor, Geneva drive, etc., under the control of the processing system described elsewhere herein. In an alternative embodiment, an electromagnetic propulsion device may be used to drive the conveyor 110. Each disc conveyor belt 110 may move along a fixed base and be driven by a separate or onboard motor or other drive system (e.g., on a track).

[0064] In the implementation, each conveyor 110 may rotate independently of and in parallel with any other conveyor 110 in terms of direction and / or speed. For example, while conveyor 110B is rotating or stationary in one direction, conveyor 110A may rotate in the opposite direction. Additionally or alternatively, conveyor 110A may move at a different speed than conveyor 110B. The movement of each conveyor 110 may be independently controlled by one or more processing systems described elsewhere herein. The processing systems may be programmed to coordinate the movement of the conveyors 110 to perform complex logistics in a variety of applications.

[0065] Each conveyor 110 can be configured to hold items 114 of any size, shape, and type. In some implementations, the same conveyor 110 can be configured to hold items 114 of different sizes, shapes, and / or types. In other implementations, each conveyor 110 holds items of the same size, shape, and / or type.

[0066] Conveyor 110 can be configured to move items from a specific location on conveyor 110 to a specific location associated with station 140, destination system 130, or other systems. In embodiments, conveyor 110 is configured to move items from a specific location on conveyor 110 to a location associated with any of a plurality of stations 140, destination system 130, or other systems. In any case, station 140 or other system may include one or more instruments for performing an operation on the items (e.g., pushing, pulling, imaging, detecting, measuring, manipulating, assembling, grouping, packaging, etc.). Such station 140 or other system may perform a single combined operation or simultaneous common operation on aligned items from multiple conveyors 110.

[0067] In embodiments utilizing multiple stations 140, each station 140 may perform the same or different operations in parallel. For example, a first station 140 (e.g., accessing a segment 112 of conveyor 110) may load one or more items onto conveyor system 100, while a second station 140 (e.g., accessing another segment 112 of conveyor 110) simultaneously unloads one or more items from conveyor system 100. As another example, a first station 140 may load or unload one or more items on conveyor 110, while a second station 140 simultaneously reads machine-readable tags on items on the same subset or different subsets of conveyor 110.

[0068] Articles may be positioned on or contained within conveyor 110 in any manner suitable for the intended use of conveyor system 100. For example, articles may rest on the top surface of conveyor 110. Alternatively, articles may be contained in separate drawers, containers, compartments, holders, small cubicles, or other enclosures on conveyor 110. For example, conveyor 110 may comprise a series of wheeled carriages linked or articulated together like a train. Regenerative braking may be used to conserve energy in the batteries, supercapacitors, and / or flywheels that power conveyor 110, at least in part.

[0069] As discussed throughout, the movement of conveyor 110 can be coordinated under the control of the processing system. However, since conveyor 110 is independently controllable, each conveyor 110 can also move independently in both directions and stop and start independently. This makes it possible to randomly access any part of any conveyor 110, including any item 114 or set of adjacent items 114 that can be held by that part. For example, in response to an instruction identifying an item 114 to be accessed (e.g., issued by another component or system, by an operator via a graphical user interface, etc.), the processing system can determine the location of item 114 on conveyor 110 (e.g., by mapping the identifier of item 114 to PTID discussed elsewhere herein) and move conveyor 110 such that the location of item 114 is accessible (e.g., at a specific station 140, destination system 130, transposition location, etc.). As another example, in response to an instruction identifying a portion of conveyor 110 to be accessed (e.g., segment 112) (e.g., issued by another component or system, by an operator via a graphical user interface, etc.), the processing system can determine the location of that portion of conveyor 110 and move conveyor 110 such that the location of that portion becomes accessible (e.g., at a specific station 140, destination system 130, transshipment location, loading area 170, etc.). In this way, articles 114 can be stacked onto or retrieved from conveyor 110, and / or any segment 112 of conveyor 110 can be accessed.

[0070] As described above, each conveyor 110 can be divided into segments 112. For example, a disc conveyor belt 110 can be logically divided into wedge-shaped sections (e.g., annular sectors, arc segments, crescent shapes, etc.). Similarly, a linear conveyor 110 can be divided into rectangles. Each conveyor 110 can be configured such that when the conveyor 110 stops, the center of each segment 112 must be aligned with one of a plurality of indexing positions. In other words, when the conveyor 110 is stationary, the center of each segment 112 must be in an indexing position, and not between indexing positions. Therefore, if the processing system 200 stops the conveyor before the segment center of the conveyor 110 is aligned with an indexing position, the conveyor 110 can continue to move the minimum amount required for its segment center to be aligned with the indexing position before stopping. In the case of a disc conveyor belt 110, the disc conveyor belt 110 will only be able to move a multiple of a fixed arc length, and in the case of a linear conveyor 110, the linear conveyor 110 will only be able to move a multiple of a fixed distance.

[0071] The centers and pivot positions of segments 112 can be equidistantly spaced, and the number of segments 112 can be equal to the number of pivot positions in a given conveyor 110. In an embodiment, a pivot position represents the location of a corresponding conveyor 110 where at least one segment of segment 112 is properly accessible by station 140, destination system 130, or other systems. Within a set of nested conveyors 110, each conveyor 110 may have the same number of pivot positions as each other conveyor 110, or a different number of pivot positions than one or more other conveyors 110. Similarly, depending on the intended use, each conveyor 110 in a set of nested conveyors 110 may be divided into the same number of segments 112 as each other conveyor 110, or a different number of segments 112 than one or more other conveyors 110. In an alternative embodiment, pivot positions may be omitted. In such an embodiment, the processing system can control each conveyor 110 to move to any position and travel any rotational or linear distance.

[0072] Advantageously, because the automated or robotic movements in conveyor system 100 are short and direct and are achieved by the same mechanism (e.g., the indexing and movement of conveyor 110), the automated system can utilize a minimalist and inexpensive design. For example, all movements of conveyor 110 can be performed by the same, easily controlled mechanism (e.g., a drive unit for a rack and pinion system, an electromagnetic propulsion device, etc., which may include a stepper motor or servo motor, a Geneva drive), and are typically direct, one-dimensional, fast, and short. This can eliminate 90% of the robotic mechanisms used in currently expensive systems while increasing throughput.

[0073] In this implementation, each segment 112 of conveyor 110 may be individually movable. For example, each segment 112 may be configured to branch off from its corresponding conveyor 110 (e.g., vertically, horizontally, etc.). Once a segment 112 has been branched off from its corresponding conveyor 110, other segments 112 of conveyor 110 may be configured to move into or through the location of the branched segment within conveyor 110, and then the branched segment 112 may move back into conveyor 110. This allows segments 112 to pass each other within conveyor 110.

[0074] Additionally, in one implementation, when two sections 112 of two adjacent conveyors 110 are aligned, an item 114 on one section 112 of one conveyor 110 can be pushed or otherwise transferred to an adjacent section 112 of the other conveyor 110. This transfer can be achieved by a robotic pusher or a robotic gripper configured to extend across the section 112 holding the item 114 to push the item 114 across the adjacent section 112 and then retract, or by a robotic gripper configured to grip the item 114 and pull it across the adjacent section 112. In such an implementation, adjacent conveyors 110 can be substantially flush with each other, such that there is no gap or a very small gap between adjacent conveyors 110 (e.g., less than the width of the narrowest item 114 stored in the automated system), reducing the chance that the item 114 may get stuck between the conveyors 110.

[0075] In one embodiment, one or more of conveyors 110 and / or shelves 132 may be temperature-controlled. In such an embodiment, the surface temperature of a section 112 of conveyor 110 or the entire conveyor 110 or shelf 132 may be controlled using, for example, thermoelectric heating and / or cooling. Different sections 112 of the same conveyor 110 or different shelves 132 may be individually controlled to, for example, different temperatures from each other. Alternatively or additionally, portions of the surrounding automated system may be temperature-controlled (e.g., ambient cold or hot air in a tunnel). In such an embodiment, the processing system 200 may move one or more sections 112 of one or more conveyors 110 into these temperature-controlled portions to control the temperature of the items held by these sections. In either case, the temperature of the temperature-controlled conveyor 110, shelf 132, or temperature-controlled portion of the automated system may be regulated under the control of the processing system. For example, items requiring refrigeration or preservation may be stored on holding components cooled to an appropriate temperature. Similarly, items that need to be heated can be stored in a holding device that has been heated to the appropriate temperature.

[0076] It should be understood that the delivery system 100 can be made compatible with and / or interact with any external system (e.g., via wired and / or wireless communication and application programming interfaces (APIs)). Examples of such external systems include, but are not limited to, laboratory information systems (LIS), remote operating systems, dashboard systems, quality control systems, alarm systems, inventory management systems (e.g., those that manage samples and / or reagents and can perform automatic reordering), etc.

[0077] 1.2. Example processing device

[0078] Figure 2 This is a block diagram illustrating an exemplary processing system 200 that can be used in conjunction with the various embodiments described herein. For example, processing system 200 can be used as one or more of, or in combination with, the functions, processes, or methods described herein to control conveyors 110 and / or stations 140 within conveying system 100, control other robotic systems within an automation system, and so on. System 200 can be a server, a conventional personal computer, or any other processor-enabled device. As will be apparent to those skilled in the art, other computer systems and / or architectures can also be used.

[0079] In one implementation, system 200 controls one or more motors driving conveyor 110. For example, system 200 may drive motor actuators to activate and deactivate the motors, change the direction of movement of the motors, change the speed of the motors, etc. An automation system including conveyor system 100 may include a separate system 200 for each conveyor 110 and / or a single system 200 controlling two or more (potentially all) of the conveyors 110. In an automation system including multiple systems 200, the systems 200 may be arranged hierarchically; for example, a master system 200 manages the operation of two or more slave systems 200.

[0080] Additionally, system 200 can communicate with one or more stations 140 to control stations 140 and / or receive, analyze, and / or report data sensed by stations 140. For example, system 200 can send commands to stations 140 to control one or more instruments of station 140 (e.g., cameras, NFC chips, radio frequency identification (RFID) interrogators, or other sensors). System 200 can also receive data collected by one or more instruments of station 140 (e.g., image data, signal data, etc.). The received data can be analyzed, interpreted, or otherwise processed by system 200 for further control or reporting purposes.

[0081] System 200 can also communicate with one or more other systems outside the automation system. System 200 can communicate with these external systems, for example, via an application programming interface (API) and / or through at least one network. System 200 can receive instructions from external systems and provide data to external systems.

[0082] System 200 may manage one or more database tables (e.g., in auxiliary storage 220) that store information about each item 114 managed by system 200, such that each item 114 can be picked according to name, SKU, and / or other properties or characteristics. Additionally, system 200 may utilize one or more of these properties to determine how to guide items 114 and / or prioritize items. For example, based on information that a particular item 114 requires temperature control, system 200 may guide that particular item 114 to a temperature-controlled conveyor 110. Furthermore, system 200 may use such information to make other determinations, such as the brand or model of the requested item 114, selecting items 114 closer to expiration or failure for picking, detecting the most popular item 114, detecting out-of-stock or low-stock items 114 (e.g., allocating as many of those items 114 as possible, and / or ordering more of those items 114) for stacking, selecting alternatives to out-of-stock items 114, and so on.

[0083] System 200 preferably includes one or more processors, such as processor 210. Additional processors may be provided, such as auxiliary processors for managing input / output, auxiliary processors for performing floating-point mathematical operations, dedicated microprocessors (e.g., digital signal processors) with an architecture suitable for fast execution of signal processing algorithms, slave processors (e.g., back-end processors) subordinate to the main processing system, additional microprocessors or controllers for dual- or multi-processor systems, and / or coprocessors. Such auxiliary processors may be discrete processors or may be integrated with processor 210. Examples of processors that can be used with system 200 include, but are not limited to, those listed below. Processor, Core processor and processor.

[0084] Processor 210 is preferably connected to communication bus 205. Communication bus 205 may include a data channel for facilitating information transfer between the storage device and other peripheral components of system 200. Furthermore, communication bus 205 may provide a set of signals for communicating with processor 210, including a data bus, an address bus, and / or a control bus (not shown). Communication bus 205 may include any standard or non-standard bus architecture, such as, for example, Industry Standard Architecture (ISA), Extended Industry Standard Architecture (EISA), Microchannel Architecture (MCA), Peripheral Component Interconnect (PCI) local bus, and bus architectures conforming to standards issued by the Institute of Electrical and Electronics Engineers (IEEE), including IEEE 488 Universal Interface Bus (GPIB), IEEE 696 / S-100, etc.

[0085] System 200 preferably includes main memory 215 and may also include auxiliary memory 220. Main memory 215 provides storage for instructions and data for programs executed on processor 210, such as one or more of the functions and / or modules discussed herein. It should be understood that programs stored in memory and executed by processor 210 can be written and / or compiled in any suitable language, including but not limited to C / C++, Java, JavaScript, Perl, Visual Basic, .NET, etc. Main memory 215 is typically a semiconductor-based memory, such as dynamic random access memory (DRAM) and / or static random access memory (SRAM). Other semiconductor-based memory types include, for example, synchronous dynamic random access memory (SDRAM), Rambus dynamic random access memory (RDRAM), ferroelectric random access memory (FRAM), etc., including read-only memory (ROM).

[0086] Auxiliary storage 220 may optionally include internal media 225 and / or removable media 230. Removable media 230 may be read from and / or written to in any well-known manner. For example, removable storage media 230 may be a magnetic tape drive, optical disc (CD) drive, digital versatile disc (DVD) drive, other optical drives, flash memory drive, etc.

[0087] Auxiliary storage 220 is a non-transitory computer-readable medium on which computer-executable code (e.g., disclosed software modules) and / or other data is stored. Computer software or data stored on auxiliary storage 220 is read into main memory 215 for execution by processor 210.

[0088] In an alternative implementation, auxiliary memory 220 may include other similar means for allowing computer programs or other data or instructions to be loaded into system 200. For example, such means may include a communication interface 240 that allows software and data to be transferred from external storage medium 245 to system 200. Examples of external storage medium 245 may include external hard disk drives, external optical drives, external magneto-optical drives, etc. Other examples of auxiliary memory 220 may include semiconductor-based memories such as programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM), and flash memory (a block-oriented memory similar to EEPROM).

[0089] As described above, system 200 may include communication interface 240. Communication interface 240 allows software and data to be transferred between system 200 and external devices (e.g., printers), networks, or other information sources. For example, computer software or executable code may be transferred from a network server (e.g., platform 110) to system 200 via communication interface 240. Examples of communication interface 240 include built-in network adapters, network interface cards (NICs), PCMCIA network cards, card bus network adapters, wireless network adapters, Universal Serial Bus (USB) network adapters, modems, wireless data cards, communication ports, infrared interfaces, IEEE 1394 FireWire, and any other means that enable system 200 to interact with a network or another computing device. The communication interface 240 preferably implements industry-issued protocol standards, such as Ethernet IEEE 802 standard, Fibre Channel, Digital Subscriber Line (DSL), Asynchronous Digital Subscriber Line (ADSL), Frame Relay, Asynchronous Transfer Mode (ATM), Integrated Digital Services Network (ISDN), Personal Communication Services (PCS), Transmission Control Protocol / Internet Protocol (TCP / IP), Serial Line Internet Protocol / Point-to-Point Protocol (SLIP / PPP), etc., but it may also implement customized or non-standard interface protocols.

[0090] Software and data transmitted via communication interface 240 are typically in the form of electrical communication signals 255. These signals 255 can be provided to communication interface 240 via communication channel 250. In embodiments, communication channel 250 can be a wired or wireless network, or any other various communication link. Communication channel 250 carries signals 255 and can be implemented using various wired or wireless communication methods, including, to name a few, wires or cables, optical fibers, conventional telephone lines, cellular telephone links, wireless data communication links, radio frequency (“RF”) links, or infrared links.

[0091] Computer-executable code (e.g., a computer program, including one or more software modules) is stored in main memory 215 and / or secondary memory 220. The computer program may also be received via communication interface 240 and stored in main memory 215 and / or secondary memory 220. When executed, such a computer program enables system 200 to perform various processes and functions described elsewhere herein.

[0092] In this specification, the term "computer-readable medium" is used to refer to any non-transitory computer-readable storage medium used to provide computer-executable code and / or other data to or within the system 200. Examples of such media include main memory 215, secondary memory 220 (including internal memory 225, removable media 230, and external storage media 245), and any peripheral device (including a network information server or other network device) communicatively coupled to communication interface 240. These non-transitory computer-readable media are means for providing executable code, programming instructions, software, and / or other data to the system 200.

[0093] In software-implemented embodiments, the software may be stored on a computer-readable medium and loaded into system 200 via removable medium 230, I / O interface 235, or communication interface 240. In such embodiments, the software is loaded into system 200 in the form of an electrical communication signal 255. When executed by processor 210, the software preferably causes processor 210 to perform one or more of the processes and functions described elsewhere herein.

[0094] In this implementation, I / O interface 235 provides an interface between one or more components of system 200 and one or more input and / or output devices. Examples of input devices include, but are not limited to, sensors, keyboards, touchscreens or other touch-sensitive devices, biosensors, computer mice, trackballs, pen-based pointers, etc. Examples of output devices include, but are not limited to, other processing devices, cathode ray tubes (CRTs), plasma displays, light-emitting diode (LED) displays, liquid crystal displays (LCDs), printers, vacuum fluorescent displays (VFDs), surface-conducting electron emission displays (SEDs), field emission displays (FEDs), etc. In some cases, input and output devices may be combined, such as in the case of touch panel displays (e.g., in smartphones, tablets, or other mobile devices).

[0095] System 200 may also include optional wireless communication components that facilitate wireless communication over voice and / or data networks. These wireless communication components include antenna system 270, radio system 265, and baseband system 260. In system 200, radio frequency (RF) signals are transmitted and received over the air by antenna system 270 under the control of radio system 265.

[0096] In one embodiment, antenna system 270 may include one or more antennas and one or more multiplexers (not shown), which perform switching functions to provide transmission and reception signal paths to antenna system 270. In the reception path, received RF signals may be coupled from the multiplexer to a low-noise amplifier (not shown), which amplifies the received RF signals and transmits the amplified signals to radio system 265.

[0097] In an alternative embodiment, radio system 265 may include one or more radios configured to communicate on various frequencies. In another embodiment, radio system 265 may combine a demodulator (not shown) and a modulator (not shown) in a single integrated circuit (IC). The demodulator and modulator may also be separate components. In the incoming path, the demodulator strips the RF carrier signal, leaving a baseband received audio signal, which is transmitted from radio system 265 to baseband system 260.

[0098] If the received signal contains audio information, the baseband system 260 decodes the signal and converts it into an analog signal. The signal is then amplified and sent to a speaker. The baseband system 260 also receives analog audio signals from a microphone. These analog audio signals are converted into digital signals and encoded by the baseband system 260. The baseband system 260 also encodes the digital signals for transmission and generates a baseband transmission audio signal routed to the modulator section of the radio system 265. The modulator mixes the baseband transmission audio signal with an RF carrier signal to generate an RF transmission signal, which is routed to the antenna system 270 and can pass through a power amplifier (not shown). The power amplifier amplifies the RF transmission signal and routes it to the antenna system 270, where the signal is switched to the antenna port for transmission.

[0099] The baseband system 260 is also communicatively coupled to a processor 210, which may be a central processing unit (CPU). The processor 210 can access data storage areas 215 and 220. The processor 210 is preferably configured to execute instructions (i.e., computer programs, including one or more software modules, etc.) that can be stored in main memory 215 or auxiliary memory 220. The computer program may also be received from the baseband processor 260 and stored in main memory 210 or auxiliary memory 220, or executed upon receipt. Such a computer program, when executed, enables the system 200 to perform various processes and functions of the disclosed embodiments.

[0100] 1.3. Location-Time Identifier (PTID)

[0101] As discussed herein, item 114 may be stored on a storage conveyor (e.g., as opposed to fixed shelving requiring human stackers and pickers or robotic stackers and pickers). In embodiments, each item 114 and / or segment 112 within the automated system is associated with a Location-Time Identifier (PTID). Additionally or alternatively, each conveyor location and / or system component (e.g., station 140) may be associated with a PTID. For simplicity, all items 114, locations, or components associated with a PTID may be collectively referred to herein as “entities” or individually as “entities”.

[0102] Each PTID can be identified by the entity's position relative to conveyor 110, the entity's position relative to the ground, time, what the identified object is, or any combination of these. Therefore, PTIDs can eliminate the need to read tags to identify items as they move through conveyor system 100. In some cases, a PTID can be a unique identifier for item 114 within conveyor system 100.

[0103] PTID enables the conveyor system 100 to move items 114 stored on conveyors 110 as a whole, these items being uniquely identified by their location and time. The conveyor system 110 can transport individual items 114 or groups of items 114 in parallel to a specific fixed destination at specified times using simple one-dimensional movement without any navigation. This means that the processing system 200 controlling the conveyor system 100 knows which items 114 must be moved, where on which conveyor 110 the item 114 is located, and where and when the item 114 is moved.

[0104] PTID also enables the control system 200 to model and identify events. Therefore, the control system 200 can schedule, track, execute, and record all events. The monitored events can occur at station 140 (e.g., pushing, pulling, pipetting, reading, analyzing, etc.), at a specific section 112 (e.g., loading, stacking, picking, etc.), and / or anywhere else within the conveyor system 100. The system 200 can maintain a real-time model of events occurring within the conveyor system 100 for modeling past and future events of the conveyor system 100, and for identifying, for example, conveyor 110, station 140, and / or other components requiring maintenance.

[0105] PTIDs offer tremendous flexibility. For example, in automated diagnostic instruments, during a batch run of tests, the run can be paused immediately and the PTID saved, allowing emergency tests to be run with very different conveyor arrangements. After the emergency test is completed, the processing system can return all items 114, sections 112, and / or other components to their positions at the time the batch run was paused, as indicated by their saved PTIDs, and then resume the batch run. Thus, unlike conventional first-come, first-served systems, PTIDs allow flexibility in the order of executable operations by allowing the system to return to a previous state (e.g., by saving and recalling PTIDs for that state).

[0106] In the implementation, each PTID includes a vector. The vector of a PTID may then include multiple subvectors. These subvectors may include, but are not limited to, C vectors, S vectors, G vectors, T vectors, and / or W vectors. However, it should be understood that a PTID may include fewer, more, or different subvectors. For example, additional subvectors may be added to a PTID to package additional information into the PTID (e.g., to improve operation).

[0107] Each C vector or component vector can be a one-dimensional vector that indicates which conveyor 110 or other component (e.g., shelf) an entity (e.g., item 114) is located on. For example, a C vector may include a unique identifier for the component.

[0108] Each S-vector or surface vector may include a set of one or more coordinates (referred to herein as S-coordinates) that identify a fixed position of article 114 on the surface of one of the holding components of conveyor 110 or conveying system 100 (e.g., fixed storage racks, robotic vehicles such as Roomba-type robotic vehicles, etc.). It should be understood that while the S-vector represents a fixed position on a surface, the surface itself may be movable, for example, if the surface is the top surface of the storage or transport conveyor 110. In embodiments, the S-vector includes Cartesian X and Y coordinates in two-dimensional Euclidean space about a fixed origin on a specific surface of a particular component (e.g., the top surface of a particular conveyor 110). Each set of XY coordinates in the S-vector represents a unique position on the surface.

[0109] Each G-vector or ground vector may include a set of one or more coordinates (referred to herein as G-coordinates) that identify a location about a fixed origin on the ground (e.g., the ground surface beneath the conveyor system 100). In an embodiment, the G-vector includes Cartesian X and Y coordinates about a fixed origin in two-dimensional Euclidean space. Each set of XY coordinates in the G-vector represents a unique location on the ground. In an embodiment, each G-vector includes real-world Global Positioning System (GPS) coordinates (e.g., latitude and longitude, and optionally altitude) or similar coordinates defined for a specific space (e.g., the enclosure of an automated system, a floor of a shop, factory, or warehouse, etc.).

[0110] In an alternative implementation, the S vector and / or G vector may comprise coordinates in a polar coordinate system (instead of a Cartesian coordinate system) around a fixed central pole. In this case, the polar coordinates may be referred to as (r, θ) or radius and angle, instead of (x, y).

[0111] Each T-vector or time vector can include a time coordinate (e.g., a timestamp). Each time coordinate represents a point on a timeline that defines a real-time or elapsed time (e.g., from a fixed starting point, such as a stopwatch) and can be used to monitor individual tasks. For example, a T-vector can be used to instruct control system 200 to schedule the transport of item 114 to station 140 at a specific time. T-vectors can also be used to perform classifications, such as prioritizing tasks (e.g., the movement of various items 114) and processing the most important (e.g., time-sensitive) tasks first. T-vectors also allow for the scheduling and logging of all events (e.g., movement, processing, etc.). T-vectors enable the collection and storage of the history of past operations in transport system 100, as well as the prediction and scheduling of future operations. The history of past operations can be used for data analysis, such as to optimize the efficiency of automated systems.

[0112] An example of the usefulness of the T-vector in PTID can be illustrated in the context of a fulfillment warehouse with multiple junctions of conveyor 110. Processing system 200 can use the T-vector to precisely schedule events. For example, if item 114 in a shopping list is stored at different junctions, processing system 200 can schedule the movement of item 114 and box 160 such that each item 114 at each junction is located at the push mechanism at the precise time that box 160 passes the push mechanism. In other words, the position of each item 114 and the position of box 160 are scheduled such that they coincide with each other when each item 114 is pushed away from its respective junction. The T-vector enables this level of precision, thereby improving efficiency.

[0113] Each W vector, or "what" vector, can be a vector indicating what the represented entity is. For example, a W vector may include an identifier that identifies the represented entity as item 114, location, or component of conveyor system 100. A W vector may also identify the type, location, or component of item 114 (e.g., passenger item, storage item, passenger location, storage location, system component, conveyor 110, fixed surface, section 112, holder, box 160, etc.). A W vector indicates which entity the PTID is identifying (e.g., conveyor 110, fixed shelf, item 114, location, section 112, holder, pipette, reading, packing, or other station 140, etc.). Thus, a W vector is a coordinate in another dimension representing type classification. For example, a W vector allows control system 200 to identify what type of entity a particular PTID is identifying, enabling control system 200 to distinguish between item 114, location, or system component.

[0114] In the implementation, each conveyor 110 is divided into multiple segments 112. Each of these multiple segments 112 of each conveyor 110 may be permanently associated with a unique pair of C-vectors and S-vectors, which together uniquely identify the position of the segment within the holding components of the automated system. The holding surfaces of other holding components (e.g., each represented by a unique C-vector) such as robotic vehicles and storage racks (e.g., rack 132) may also be divided into areas or segments, each associated with its own S-vector.

[0115] Each segment (e.g., segment 112 of conveyor 110 or another segment of holding components) can also have its own S-coordinate system. For example, each segment can have its own Euclidean space defined by X and Y coordinates. Therefore, once the S-vector of a segment is specified, the S-coordinates in the S-vectors of all PTIDs of all items 114 on that segment can be calculated based on the S-coordinate system of that segment. In other words, a segment in Euclidean space can be defined by a set of S-coordinates (e.g., a list of S-coordinates or a range of S-coordinates). One or more S-coordinates from this set of S-coordinates of a segment can be assigned to the individual items 114 on that segment. If a large item 114 occupies an area covering multiple S-coordinates, then the large item can be assigned multiple S-coordinates. Alternatively, such an item 114 can be assigned a single S-coordinate representing the "centroid" of such item 114. Essentially, each segment 112 can be segmented into its own system of segments holding items 114 or portions of items 114.

[0116] Regarding the circular disc conveyor 110, to establish the S-coordinates of the S-vector, the X-axis can be defined as extending along the circular profile of the conveyor 110, and the Y-axis can be defined as a radial line extending outward from the center of the circular profile of the conveyor 110. Therefore, each item on the disc conveyor 110 can be assigned an X-coordinate identifying the item's position on the circular X-axis of the disc conveyor 110, and a Y-coordinate identifying the item's position on the radial line extending through the X-coordinate. These S-coordinates are polar coordinates, commonly referred to as radius and angle, rather than X and Y. This may be particularly convenient in implementations utilizing nested circular disc conveyor 110s. In a polar coordinate system, each point on a plane is determined by its distance from a reference point and its angle with a reference direction. Therefore, each position in the polar coordinate system is a vector, which allows equations to be applied in matrix algebra.

[0117] Different S-vector systems can be used for each conveyor 100 or other holding components in the automation system. In such an implementation, two entities may have the same S-vector (i.e., indicating that the two entities are in the same position relative to a fixed point on their respective surfaces), but will have different C-vectors (i.e., because the two entities are on different surfaces). Alternatively, all holding components may be defined in a single shared Euclidean space, especially when the top surfaces of all holding components are in the same plane (e.g., in an implementation with a concentric circular disc conveyor belt 110). In such an implementation, C-vectors may not be necessary because all S-coordinates in all S-vectors can be defined using a single reference point. In other words, an S-vector can be used alone to uniquely identify the physical position of an entity within the conveyor system 100.

[0118] The Euclidean space of the S-vector system can be superimposed on the underlying ground Euclidean space of the G-vector system (e.g., the underlying conveyor 110 and other holding components of the automation system). These two Euclidean spaces can have identical dimensions, and the Euclidean space of the S-vector system can be directly correlated with the ground Euclidean space of the G-vector system about a fixed origin on the ground Euclidean space below the conveyor 110. The choice of origin will depend on the implementation and application of the automation system, and there can be multiple origins. When the conveyor 110 stops and the origin is aligned between the two systems, or when the holding components are fixed (e.g., holding shelves), the S-vectors can be precisely matched. As described above, the S-coordinates of items 114 on moving surfaces (such as the top surface of the conveyor 110) can move over time relative to the G-coordinates of these items 114. However, due to the relationship between the S-vector system and the G-vector system, points in the S-vector system may be bound to fixed points in the G-vector system. Additionally, the position of items 114 and / or conveyor 110 can be continuously monitored (e.g., when they pass reading station 140).

[0119] In this manner, item 114 can be associated with a PTID, allowing processing system 200 to track the exact location of the item throughout the automated system. In other words, an assigned PTID can be used to identify the exact location of item 114 within the automated system. Processing system 200 continuously tracks the PTIDs of all items 114 within the automated system and can control their movement without human intervention. For example, processing system 200 can control conveyor 110 and / or other devices (e.g., robot pushers or grippers, automated packers, etc.) to retrieve item 114 or a group of items 114 from a source PTID (e.g., storage conveyor 110 or shelf), move the item or group of items onto transport conveyor 110, transport item 114 on transport conveyor 110 (during which the PTID can be continuously updated to reflect its changing G vector while its S vector remains fixed), and transport item 114 on transport conveyor 110 to a destination PTID (e.g., shelf 132). The movement of items between holding components (e.g., conveyor 110, shelf 132, etc.) can be observed by a camera, which can be monitored and / or controlled by artificial intelligence (AI).

[0120] In the implementation, the processing system 200 can be configured (e.g., via software) to move the item 114 to a specific location within the conveyor system 100 (e.g., section 112, packing or other processing station 140, chute 150, loading area 170, etc.) at a specific time based on a combination of C, S, G, and T vectors. A fixed destination (e.g., fixed station 140) can be assigned a W vector and a fixed G vector in the underlying Euclidean ground space.

[0121] In this implementation, the processing system 200 can utilize an optical or mechanical system (e.g., an optical reading station 140, which optically scans the codes on the item and / or segment as the item 114 and / or segment 112 passes) to continuously determine the G vector for a given S vector based on the relationship between the fixed origin of the G-vector and S-vector systems. In other words, the processing system 200 can determine the exact position of the conveyor 110 at any given moment, and therefore the exact position of the item 114 on the conveyor 110. Thus, the processing system 200 can calculate the G coordinate of any item 114 on the conveyor 110, regardless of whether the conveyor 110 is stopped or moving. This allows the processing system 200 to control the G coordinate of any item 114, for example, by moving the item 114 from one G coordinate to another using one or more conveyors 110. This is important for quality control in a PTID system.

[0122] A relational database can be used to track item 114 via PTID. Specifically, each item 114 can be associated with a PTID in the relational database. The PTID can be used as an index or key in the relational database for item 114. For example, an S vector can be used as an index in a table of item 114 to retrieve all or a subset of information about one or more items 114 having that S vector. Alternatively or additionally, a combination of G and T vectors can be used as an index in a table of item 114. Alternatively or additionally, any other subvector or combination of subvectors or any token read (e.g., captured by read station 140) can be used as an index in a table of item 114. Item 114 can also be associated in the relational database with other data such as item identifiers (e.g., SKU), one or more item descriptors (e.g., type, price, etc.). The relational database can persistently record each movement of item 114. For example, rows can be stored in a movement table that identifies the moved item 114, the PTID of the source of the movement, the PTID of the destination of the movement, the time of the movement, etc. This movement history can be used for a variety of applications, including auditing, debugging, calculating usage fees for the delivery system 100, etc.

[0123] As mentioned elsewhere herein, in this embodiment, the conveying system 100 enables random access to any item 114 or a set of adjacent items 114 stored on any conveyor 110 and / or any segment 112 of any conveyor 110. For example, each segment 112 may be individually addressed by a PTID. The processing system 200 may receive instructions for random access to item 114 or segment 112. These instructions may include an identifier for item 114 and / or an S-vector or complete PTID for segment 112, and may be received from another component of the automation system, from an external system, from an operator via the graphical user interface of the automation system, etc. If the instruction includes an identifier for item 114, the processing system 200 may map that identifier to an S-vector or complete PTID that identifies the segment 112 and conveyor 110 where item 114 is located. Otherwise, if the instruction includes an S-vector or complete PTID, that S-vector or PTID readily identifies the segment 112 and conveyor 110 to be randomly accessed by the processing system 200. In either case, once segment 112 is identified, processing system 200 can control conveyor 110, which includes segment 112, to move segment 112 to a location where it can be accessed. For example, the accessed location could be an accessible location such as station 140 (e.g., including a robotic system, such as a pusher or gripper), destination system 130, loading area 170 (e.g., for stacking or picking).

[0124] In this way, any segment 112 and / or item 114 within the conveyor system 100 can be randomly accessed. This ability to randomly access segments allows items 114 to be quickly unloaded from any segment 112 of any conveyor 110 or loaded onto any segment of any conveyor 110, and enables large quantities of items 114 (e.g., frequently used or purchased items) to be stacked close to each other and / or close to access locations on the conveyor 110. Additionally, the processing system 200 can utilize the random access to segments 112 of the conveyor 110 to automatically re-sort the items 114 on the conveyor 110, for example, to optimize the placement of these items 114 within the automated system (e.g., stacking more frequently used or purchased items closer to destination system 130, station 140, loading area 170, etc.).

[0125] As long as item 114 is positioned on a specific holding component (e.g., a specific section 112 of conveyor 110, a robotic vehicle, or a storage rack), it is not necessary to continue tracking item 114 via a reading method (e.g., a barcode reader) because the position of item 114 can be fixed to its associated S-vector during the duration of its handling, or it can be moved to another known S-vector. Therefore, advantageously, since item 114 is handled in the appropriate location, once the item's position has been identified once (e.g., by reading its associated barcode or other machine-readable mark at a specific S-vector), it does not need to be identified again. This is also true even after item 114 has been transferred multiple times to other conveyors 110 (e.g., during a sorting process), because the S-vector on the next conveyor 110 is captured at each transfer (i.e., PTID retention). The preferred operating principle is to establish the PTID identification of passenger item 114 as early as possible and only once during the process.

[0126] In the implementation, when item 114 or its holder is transferred from one conveyor 110 to another, the PTID of each transferred item 114 or holder is updated to reflect the transfer. By establishing a new PTID for item 114 on the new conveyor 110, item 114 can advance through the supply chain identified only by its current PTID. This eliminates the need to repeatedly scan item 114 throughout the supply chain. For example, since the location of item 114 (e.g., the combination of its current C and S vectors) is already known before the transfer, and the location of its destination (e.g., the combination of the C and S vectors of the segment 112 to which item 114 will be pushed, pulled, or otherwise transferred) is known, the processing system 200 can simply update the PTID of item 114 (e.g., to reflect the combination of the C and S vectors of item 114 being transferred to the segment 112 above) without having to scan item 114 (e.g., to determine its current location).

[0127] Many complex and expensive mechanisms exist for identifying items as they move, such as readers that scan items as they are pushed off a fast-moving conveyor. However, all of these mechanisms require a stationary scanner at each transfer point or exit point. Advantageously, PTID eliminates the need for such scanners.

[0128] Furthermore, since the conveyor 110 can be stopped, simpler picking and / or pushing mechanisms can be used for transfers, reducing costs. For example, in one implementation, for the transfer of items between two conveyors 110, both conveyors 110 can be stopped so that the source segment 112 (i.e., the segment 112 currently holding item 114) and the destination segment 112 (i.e., the segment 112 on which item 114 will be transferred) are adjacent to each other. A very simple pushing mechanism can then be used to push item 114 from the source segment 112 onto the destination segment 112. This eliminates the need for complex and expensive gripper mechanisms and reduces the chance of errors occurring during operation. In this case, the processing system 200 simply updates the C and S vectors in the PTID of the transferred item 114 from the C and S vectors of the source segment 112 to the C and S vectors of the destination segment 112, respectively. This can all be done without scanning item 114.

[0129] Advantageously, this ability to transfer articles 114 within the transport system 100 using a simple and inexpensive mechanism makes automated stacking systems practical for the first time. For example, a clinical laboratory can receive samples at a window. The samples are scanned, thus notifying the automated system of their arrival and presence. Additionally, tests performed on the samples can be input into the automated system (e.g., manually or via LIS). To save on multiple manual stacking steps, samples can be placed in a holder upon receipt (e.g., for samples with 20x20 slots). The PTID of the holder as a whole can then be automatically established. The newly established PTID can be verified by a top-down camera system (e.g., used as reader station 140). Furthermore, the PTID of each sample in the holder can be automatically established at this time according to the holder's S-coordinate system (e.g., a 20x20 coordinate system). In other words, each sample receives a PTID with an S-vector representing its position within a holder-specific S-coordinate system (e.g., a slot in the holder slots within a 20x20 grid). Therefore, large numbers of samples can be loaded (e.g., up to 400 in a 20x20 holder), and the PTID of all samples can be calculated quickly in a single step. The sample holders are then loaded into the conveyor system 100, which can stack the holders in an optimal position on the conveyor 110 within the automated system, thereby eliminating the need for stacker workers to walk. In this way, samples can be loaded into the automated system as a whole, as opposed to small, unlabeled batches that must be marked on the machine. Samples can also be scheduled to be continuously transported to various stations 140 within the automated system for their respective tests.

[0130] PTID systems can be scaled across the entire supply chain to provide immediate, integrated feedback, which is beneficial for zero-inventory systems and Kaizen systems. For example, PTID enables automated systems to schedule all movement and operations within a specific time period (e.g., a workday). Once an order for testing is placed on the LIS (e.g., by a doctor), the automated system can use the PTID of the sample to be tested to schedule the sample at the accession and at each testing station 140. All movement and operations within the automated system can be modeled and scheduled (e.g., based on the history of stored movement and / or operations) to improve quality control, throughput, efficiency, load levels, invoicing, advanced data analytics, etc. Thus, for example, if a testing station 140 will be busy during a specific time period, the automated system can schedule testing to prevent backups and / or parallel execution of other tasks at that testing station 140, thereby increasing throughput.

[0131] In a warehouse setting, a PTID system can be used to hierarchically arrange and manage disc conveyors. For example, at one level of this hierarchy, a slower disc conveyor 110 stores a large amount of inventory. At another level, a faster disc conveyor 110 stores a smaller amount of inventory for faster access. When items 114 in the faster disc conveyor 110 are depleted (e.g., as determined by associating the item's SKU with fewer PTIDs in the faster disc conveyor 110), items 114 from the slower disc conveyor 110 can be transferred to the faster disc conveyor 110. These items 114 can be transferred according to a schedule that ensures the faster disc conveyor 110 is refilled before being depleted but during a time that does not disrupt operations (e.g., when there are fewer operations or tasks to be performed, such as during expected off-peak hours). Therefore, throughput during packing and shipping processes can be significantly improved. Additionally, the processing system 200 can determine when a specific item 114 is depleted in the warehouse and automatically relay requests up the supply chain to initiate and / or schedule the resupply of item 114 to the warehouse. Therefore, the processing system 200 can perform inventory and shipment control as well as event scheduling.

[0132] The pairing of T vectors with S or G vectors can be considered as metaphorical names or keywords for labeling and identifying passenger items 114 and system components (e.g., pipettes, automated packers, etc.), and processing system 200 can use them to specify and control operations within the automated system. The pairing of G vectors with W vectors can name passenger items 114, stations 140 (e.g., pipettes, packers, etc.), boxes 160, and / or any other components. Advantageously, PTID allows processing system 200 to identify many different types of entities through vector values. For example, processing system 200 can execute AI algorithms that use this PTID-based knowledge of items 114 and stations 140 to self-optimize the automated system.

[0133] As discussed elsewhere herein, processing system 200 can track and update each S vector in the PTID of any moving item 114 or component relative to the G vector system by monitoring the position of conveyor 110. During this tracking, processing system 200 can also dynamically update the T vector of the PTID of the moving item 114 or component. Thus, processing system 200 can track any moving entity, both its current position and its future position at any given moment. Additionally, processing system 200 can (e.g., in auxiliary memory 220) store a history of all movements, operations, and / or other events within conveyor system 100. It should be understood that this history can include all events up to the current time. Furthermore, processing system 200 can (e.g., in auxiliary memory 220) store all future scheduling events. Therefore, processing system 200 can use this continuously updated information to identify what is at any T vector (i.e., time) at a certain G vector (i.e., ground position), without having to use the S vector.

[0134] The PTID system also enables processing system 200 to schedule tagged events. For example, processing system 200 can schedule C and S vectors (i.e., specific locations on the surface of a specific conveyor 110) at a specific T vector (i.e., at a specific time), specific G and W vectors (i.e., specific things at specific ground locations within the automated system), and specific locations on the surface of a specific conveyor 110. In this way, processing system 200 can schedule that specific PTID to arrange a specific item 114 or segment 112 before a specific station 140 (e.g., pipette, packer, etc.). Furthermore, combinations of C, G, and T vectors can model events (e.g., processing a given sample at a given test station 140).

[0135] PTIDs can also be used by processing system 200 for classification. For example, suppose there are many test orders at hemostasis station 140 of an automated diagnostic instrument. The ability of processing system 200 to schedule appointments at station 140 would be worthwhile, as it is important to ensure that no hemostasis slots are wasted and that samples are delivered to hemostasis station 140 without delay for their reserved slots. Processing system 200 can use one or more algorithms (e.g., machine learning or other AI algorithms) to utilize PTID vectors and optimize scheduling. For example, the algorithm could optimize scheduling, optimize queuing of item 114 (e.g., near hemostasis station 140), ensure timely and free transport of item 114 to hemostasis station 140 for scheduling conveyor 110, and so on. Once a doctor places an order for a test, or when a sample is registered in the automated system, all tests ordered for a sample can be scheduled to specific slots (i.e., T vectors) at each testing station 140 (e.g., a pair of G and W vectors). In addition, urgent test orders can be prioritized and categorized so that other tests on other samples can be delayed and / or rescheduled if necessary, so that urgent test orders can be performed before lower priority orders.

[0136] In the implementation, processing system 200 performs quality control on the PTID system. For example, automated reading station 140 can be selectively positioned across the entire conveyor system 100 to read machine-readable tags on items 114 passing on conveyor 110 to verify that the identity provided by the PTID is correct. Specifically, based on the tracking by processing system 200, machine-readable tags can be used to retrieve items 114 and their PTIDs, and the retrieved PTID can be compared with the PTID corresponding to a location in front of the automated reading station 140 that captured the machine-readable tag. If the PTIDs match, the PTID system is aligned with reality. Otherwise, if the PTIDs do not match, the PTID system is misaligned, and a recalibration process can be initiated, or an immediate alarm (e.g., indicating a fault) can be issued (e.g., audible or texted to one or more receivers). Instances of PTID verification can be performed as statistical sampling to ensure the PTID system is correctly aligned, thereby providing continuous confidence in the integrity of the PTID system. As a further safeguard, machine-readable markings (e.g., QR codes) may be printed on the surface of conveyor 110 (e.g., on one or more or all sections 112) to mark the locations that will be sampled by automated reader station 140 for statistical PTID verification.

[0137] In one implementation, the processing system 200 monitors and records the current position of each conveyor 110. For example, in an implementation using stepper motors to move the conveyor 110, the processing system 200 may count the pulses sent to the stepper motors of the conveyor 110 to track the current position of the conveyor. Alternatively, as described above, the processing system 200 may read machine-readable markings on the conveyor as it passes the automated read station 140. In either case, if there is a misalignment or malfunction in the PTID system, the processing system 200 may use this information to realign the PTID system with the conveyor system 100.

[0138] Additionally, all stacking events can be monitored (e.g., via a camera system) to further ensure PTID integrity. For example, each time conveyor 110 brings out storage section 112 for stacking, the camera can capture images or videos of items 114 placed on storage section 112. In an embodiment, once item 114 is placed at a specific location on the surface of conveyor 110, item 114 will never be moved to any other location on the same surface of the same conveyor 110, such that its S-vector is constant on that conveyor 110.

[0139] In an implementation, one or more conveyors of conveyor 110 in conveyor system 100 (e.g., potentially all conveyors 110) may be magnetic conveyors. Magnetic conveyors use magnets to releasably secure ferrous articles to the conveyor belt. This can be used to ensure that articles 114 on the surface of the conveyor belt maintain an accurate S-vector, even during conveyor belt movement. It is worth noting that articles 114 themselves do not need to be ferrous (but may be ferrous in certain applications). For example, articles 114 may be arranged in ferrous cages or other containers, as described elsewhere herein. In this case, processing system 200 may calculate the individual PTIDs of the articles based on the PTID of the cage or other container in which the articles 114 are arranged.

[0140] Because processing system 200 can record the operations of each fixed or moving entity through PTID, the PTID system can exert unprecedented control over the operational efficiency of the logistics system, both at the micro and macro scales. For example, PTID enables the automation of many functions of the fulfillment center's "water spider," whose job is to detect and promptly remedy any obstacles to smooth operation. Since PTID allows processing system 200 to continuously model all operations of all fixed or moving entities, when any entity malfunctions, slows down, is overloaded, or is out of stock, processing system 200 can transfer operations to redundant entities or request timely human intervention using specific recommendations.

[0141] Advantageously, at least in part, human pickers can be eliminated (e.g., in the context of a fulfillment warehouse) by using PTID to identify each SKU or item 114 within the conveyor system 100. This is because from the moment each item 114 enters the automated system, throughout its entire stay and journey through the automated system, until it leaves the automated system (e.g., until it leaves the transport conveyor 110 at the shipping or packing area), the processing system 200 knows the precise location of each item (e.g., on a specific surface of a specific component). Conventional systems typically do not maintain this precise and consistent information and therefore require humans to identify and pick specific items for collection. The disclosed conveyor system 100 is the only system known to the inventors capable of eliminating human pickers for item collection.

[0142] 1.4. Exemplary coordinates of a disc conveyor belt

[0143] Figure 3A and Figure 3B An example of how the movement of conveyor 110 according to an embodiment is shown is illustrated. The conveying system 100 shown includes four concentric disc conveyor belts 110. For example, each disc conveyor belt 110 is divided into wedges 112, each wedge 112 being represented by a different PTID.

[0144] In the illustrated example, the processing system 100 determines that it must align the wedges 112 (represented by A1, B1, C1, and D1), which have been assigned S vectors, into the radial lines, such that all wedges can be accessed for operation, for example, using one or more instruments (e.g., robot actuators) from station 140. Figure 3A and Figure 3B As shown, conveyor A1 on conveyor 110A rotates clockwise three indexing positions, conveyor B1 on conveyor 110B rotates counterclockwise fifteen indexing positions, conveyor C1 on conveyor 110C rotates counterclockwise seven indexing positions, and conveyor D1 on conveyor 110D rotates clockwise four indexing positions, so that A1, B1, C1, and D1 on the disc conveyors 110A-110D are aligned on the same radial line. Therefore, after the movement, A1 is at position 300A, B1 is at position 300B, C1 is at position 300C, and D1 is at position 300D. Thus, as... Figure 3B As shown, all wedges 112 identified by A1, B1, C1 and D1 can be accessed simultaneously on a single radial line.

[0145] exist Figure 3A and Figure 3BIn the example, conveyor 110 is capable of rotating in either direction. Therefore, processing system 200 can select the most efficient direction of movement for each conveyor in conveyor 110. Efficiency can be defined as the minimum amount of movement or the number of movements. In this case, processing system 200 can select the direction of movement that requires the minimum amount of movement to move a specific segment 112 to its destination pivot position. However, in alternative system 100, conveyor 110 may move only in a single direction, or a different definition of efficiency may be used. For example, efficiency may prioritize movements that simultaneously move the maximum number of segments 112 and / or items 114 to their appropriate positions.

[0146] It is worth noting that conveyor 110 can be controlled to align any combination of segments 112 into a straight line across conveyor 110 (e.g., at station 140, destination system 130, or other systems). Therefore, processing system 200 can coordinate conveyor 110 to align segments 112, thereby aligning specific items 114 held on those segments 112 to perform specific tasks on the aligned items 114 (e.g., using instruments at station 140). In this case, each conveyor 110 can transport a set of items 114 all associated with the same steps in the overall task, such that when segments 112 are aligned, all items 114 required for all steps of the task are available in a straight line across conveyor 110. For example, see reference... Figure 3B The first item 114 for the first step of the task can be located at A1 and accessed at position 300A; the second item 114 for the second step of the task can be located at B1 and accessed at position 300B; the third item 114 for the third step of the task can be located at C1 and accessed at position 300C; and the fourth item 114 for the fourth step of the task can be located at D1 and accessed at position 300D. Using a larger number of segments, millions or billions of different combinations of items 114 can be quickly aligned serially or in parallel.

[0147] 2. Process Overview

[0148] Implementation schemes for controlling the conveyor system 100 will now be described in detail. It should be understood that the described processes can be embodied in one or more software modules executed by one or more hardware processors (e.g., processor 210) of the automation system including the conveyor system 100. The described processes can be implemented as instructions represented as source code, object code, and / or machine code. These instructions can be executed directly by the hardware processor 210, or alternatively by a virtual machine operating between the object code and the hardware processor 210.

[0149] Alternatively, the described process can be implemented as hardware components (e.g., general-purpose processors, integrated circuits (ICs), application-specific integrated circuits (ASICs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic, etc.), combinations of hardware components, or combinations of hardware and software components. To clearly depict the interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps are generally described herein according to their functionality. Whether such functionality is implemented in hardware or software depends on the specific application and design constraints imposed on the system as a whole. For each specific application, those skilled in the art may implement the functionality in different ways, but such implementation decisions should not be construed as departing from the scope of the invention. Furthermore, functional grouping within components, blocks, modules, circuits, or steps is for ease of description. A particular function or step may be moved from one component, block, module, circuit, or step to another without departing from the invention.

[0150] Furthermore, although the processes described herein are illustrated with a specific arrangement and order of steps, each process can be implemented with fewer, more, or different steps, as well as different arrangements and / or orders of steps. Additionally, it should be understood that any step that does not depend on the completion of another step may be performed before, after, or in parallel with other independent steps, even if those steps are described or shown in a specific order.

[0151] For illustrative purposes, the process will be described herein with reference to a conveying system 100 comprising a specific number of conveyors 110 in a specific configuration. However, these examples are not limiting, and how the described process can be adapted to other configurations of the cooperating conveyors 110 (including different numbers of conveyors 110 and / or conveyors 110 of different shapes) will be apparent to those skilled in the art.

[0152] 2.1. software

[0153] Processing system 200 may store and execute one or more software modules that control conveying system 100 (e.g., stored in main memory 215 and / or auxiliary memory 220, and executed by processor 210). This control may include optimizing the timing of the movement of conveyors 110 relative to each other and the timing of operations being performed (e.g., minimizing dwell time and increasing throughput), implementing lead time required for processing, selecting items 114 for processing, grouping sets of items 114 for pickup and / or processing together, and / or similar operations.

[0154] In the implementation, the control software may utilize artificial intelligence to anticipate the intentions of the automated system and / or human users. For example, the control software may train a machine learning algorithm to predict the next action to be performed based on a series of observed events, using historical datasets that have been observed and stored. Additionally or alternatively, artificial intelligence (e.g., employing convolutional neural networks) may be used to identify and / or classify objects (e.g., item 114) in image data captured by one or more automated reading stations.

[0155] The processing system 200 may also store and execute one or more software modules (e.g., stored in main memory 215 and / or auxiliary memory 220 and executed by processor 210) to analyze data generated by automated systems (e.g., instruments from one or more stations 140), including image data or other sensed data. This analysis may include determining and interpreting test results (e.g., based on image data captured by a camera at a reading station), counting items 114 (e.g., based on image data of machine-readable tags captured by a camera at a reading station), mapping items 114 to locations (e.g., S-vectors), mapping S-vectors to G-vectors (e.g., updating PTID), etc.

[0156] It is worth noting that the processing system 200 can use the same control and analysis software regardless of the size of the automation system. Therefore, the automation system can be scaled up or down according to the needs or expectations of a specific application without having to develop new software. For example, the automation system can be produced in small, medium, and / or large versions. Regardless of the size of the automation system, the software will optimize the operation of the conveyor system 100 and analyze the data generated by the conveyor system 100.

[0157] The processing system 200, which executes the control software, can monitor the processes active on each conveyor 110 at any given time. When there is no process activity on a particular conveyor 110 that requires the disc conveyor 110 to remain stationary, the processing system 200 can automatically move the conveyor 110 to locate an empty section 112 of the conveyor so that it is more easily accessible to operators or other systems (e.g., robotic loading / unloading systems) (e.g., closer to an openable access point for an automated system used for stacking) for faster loading and / or unloading.

[0158] Similarly, without interrupting any activity process, the control software executed by the processing system 200 can automatically move one or more conveyors 110 to minimize the distance between the location of frequently used items 114 and the station 140 or destination system 130 on which those frequently used items 114 are operated. For example, during periods of inactivity, the control software can automatically move the section 112 of the conveyor 110 that holds the frequently used items 114 so that the section is aligned with the automated station 140. This can reduce the lead time required to initiate new operations involving the frequently used items 114.

[0159] In the implementation scheme, the control software can also optimize the operation of the scheduled operations. For example, if multiple operations are scheduled within a given time, and each operation requires some preparation before it can be started, the control software executed by the processing system 200 can prioritize the preparations based on their lead times. Therefore, the operation with the longest lead time can be given the highest priority and executed first, while the operation with the shortest lead time can be given the lowest priority and executed last.

[0160] The control software can also be sensitive to historical daily workload. For example, the control software can store historical usage data of the automated system and use that data to anticipate upcoming demand. For instance, if certain items 114 are regularly operated on at a certain time on a certain day, the control software executed by the processing system 200 can automatically begin preparing for such operations (e.g., moving and / or re-sorting items) with sufficient lead time, such that preparation is completed around a specific time on the specific day on which the operations are regularly performed.

[0161] 2.2. Item loading / stacking

[0162] In this implementation, one or more items 114 may be tagged with machine-readable labels (e.g., barcodes, quick-response (QR) codes, alphanumeric strings, NFC chips, RFID tags, etc.). As these items 114 are loaded onto conveyor 110, processing system 200 may automatically move conveyor 110 such that each segment 112 carrying items 114 passes through automated reading station 140. Automated reading station 140 may read the machine-readable label of the item 114 on segment 112 of conveyor 110, which is currently accessible by reading station 140 (e.g., via an instrument such as a camera, barcode reader, NFC chip, RFID interrogator, etc.) to identify the item 114. Since processing system 200 tracks each segment 112 of conveyor 110 (e.g., via PTID), processing system 200 may also identify which segment 112 is currently accessible to reading station 140. Therefore, the processing system 200 can map the identifier of the item 114 to the identifier (e.g., the S-vector of the segment) of the conveyor 110 on which the item is already loaded. This mapping association can be stored (e.g., in memory 215 or 220) until the item 114 is removed from the conveyor 110. Advantageously, this association allows the item to be identified in subsequent operations based on its position on the conveyor 110, and its position on the conveyor 114 to be retrieved using the identifier of the item 114.

[0163] In an embodiment utilizing a holder comprising multiple items 114 (e.g., items 114 of the same interchangeable type), each item 114 within the holder can be given a position identifier identifying its location within the holder before the holder is loaded onto section 112 of conveyor 110. Once the holder has been placed onto conveyor 110, processing system 200 can calculate the S-vector of each item 114 within the holder based on the position of the holder on conveyor 110 (e.g., S-vector) and the position identifier of the item 114 within the holder.

[0164] If the automated reading station 140 is only able to read machine-readable tags when the conveyor 110 is stationary, the conveyor 110 can rotate to a first pivot position, stop for a sufficient time to allow the automated reading station 140 to read the machine-readable tag, rotate to a second pivot position, stop for a sufficient time to allow the automated reading station 140 to read the next machine-readable tag, rotate to a third pivot position, and so on. In an alternative embodiment, the automated reading station 140 can be configured to read machine-readable tags while the conveyor 110 is moving (e.g., via a strobe light). In this case, the conveyor 110 can simply rotate at a rate at which the automated reading station 140 is able to read the machine-readable tags (e.g., in sync with the strobe light) as much as necessary for all machine-readable tags on the conveyor 110 to be read (e.g., fully or partially rotated).

[0165] In one implementation (e.g., where item 114 is a consumer product), item 114 can be loaded directly from a delivery truck onto conveyor 110. During loading, processing system 200 can generate and store a PTID for each item 114 (e.g., using automated reading station 140 to identify which items 114 are on which segments 112). Because processing system 200 can retain and update the PTID of each item as it is transported through the automated system, no further steps are required to identify items 114 within the automated system. In another implementation, the PTID history of item 114 can be maintained at multiple facilities throughout the supply and distribution chain (e.g., from manufacturing facilities to one or more distribution centers, to physical stores, etc.).

[0166] In a typical store, stocking shelves is a labor-intensive, manual process. People must visually identify items, move them from delivery trucks to specific trolleys in the warehouse, and then from the warehouse to designated shelves within the store. Current practice involves grouping similar items together in the same aisles and labeling the aisles to help customers find items on their shopping lists. Item placement is maintained at a fine level. Specifically, each item has a SKU, which is assigned a physical location and indicated by a barcode and text on the item. Stockers can read the SKU from the item's label to determine its physical location in the store and to count inventory for accounting purposes. Typically, stockers are assigned to specific aisles or sections of aisles, allowing them to become familiar with each SKU in their assigned location.

[0167] Advantageously, the loading or stacking process in the conveyor system 100 is much easier. Instead of assigning loading workers to aisles, the conveyor 110 can be loaded with items 114 by transport personnel (e.g., transport truck drivers) at one or more designated stacking ports. The PTID of each item 114 can be recorded once at the loading point, so that it does not have to be recorded again. For example, the transport personnel can scan a machine-readable mark (e.g., a barcode) on the item 114, and the processing system 200 can receive coded data (e.g., an item identifier) ​​from the mark to identify the item 114, determine a segment 112 of the conveyor 110 for holding the identified item 114, move the determined segment 112 to the stacking port so that the transport personnel can place the item 114 on the determined segment 112, and associate the item 114 with the PTID of the determined segment 112. Alternatively, a transporter may place item 114 on an empty segment 112 of conveyor 110, and the processing system 200 may automatically read the machine-readable mark on item 114 and associate item 114 with the PTID of segment 112 (e.g., via a camera or barcode reader at automated reading station 140). It should be understood that any alternative method for associating item 114 with the PTID of segment 112 or other holding components of conveyor 110 may be used.

[0168] In one implementation, several items 114 of the same SKU may occupy a section 112 that traverses the conveyor 110 in a lateral direction orthogonal to the longitudinal direction (i.e., the direction of movement) of the conveyor. In other words, a single section 112 may include multiple copies of the same item 114 having the same SKU. These items 114 may be stacked on the section 112 in a lateral direction across the conveyor 110, such that these items can move laterally on and / or laterally away from the section 112 (e.g., via a helix or spring, in a cage, etc.). The processing system 200 may associate each section 112 with the SKU of the item 114 stacked on the section 112 (e.g., in auxiliary storage 220). Each stacking port may include a scanning station 140. A transport operator may scan the SKU of the item 114 to be stacked in the conveyor system 100 at the scanning station 140. When the processing system 200 detects a scan of an SKU at the scanning station 140, it automatically identifies the segment 112 associated with that SKU and responsively controls or schedules the conveyor 110 to move the identified segment 112 to the stacking port. Therefore, transport personnel can stack items 114 with scanned SKUs onto the appropriate segment 112 at the stacking port. Advantageously, transport personnel do not need to know where to stack a specific item 114 and can stack multiple different items 114 (e.g., with different SKUs) at the same stacking port, regardless of where these items are stacked within the conveyor system 100.

[0169] Stacking can be further improved by loading items 114 of the same type (e.g., the same SKU) into a recyclable retainer (e.g., by pushing items forward via a spiral), which can slide laterally onto any segment 112 located at the stacking port. In this case, the transport personnel can simply slide the retainer, which includes multiple items 114, onto segment 112 at the stacking port. The processing system 200 can calculate the individual PTIDs of all items 114 in the retainer based on the PTID of the retainer and / or segment 112.

[0170] In this manner, the loading of each item 114 into the conveyor system 100 can be accurately recorded (e.g., in memory 220). Additionally, the unloading of each item 114 from the conveyor system 100 (e.g., pickup by a customer) is also accurately recorded. Therefore, an accurate real-time inventory of all items 114 in the conveyor system 100 can be maintained. This inventory can be coordinated with a real-time inventory recorded as sections 112 of the conveyor 110 continuously pass through automated reading stations 140, which read machine-readable markings on the items 114 held by these sections 112 to identify them. The inventory of items 114 can be used for automated bookkeeping, automatic reordering of new inventory, and / or detection of inventory adjustments.

[0171] 2.3. Automated item collection

[0172] In implementations, the conveyor system 100 can be used to automate the collection of consumer goods or other items 114 from or within electronic shopping carts. For example, a customer may select one or more items 114 for purchase from an online store via the internet, and the conveyor system 100 may be used to collect these items 114 in a warehouse for shipment, in a physical store for subsequent customer pickup, and so on. As another example, a customer may select one or more items for purchase from an electronic kiosk in a physical store, and the conveyor system 100 in that physical store may automatically collect the items 114 for pickup at a single location (e.g., storage shelf 132).

[0173] In the implementation plan, the entire physical store can be converted into an automated system. For example, typical fixed display shelves can be completely or partially replaced by a conveyor system 100, such as... Figures 1A-1F The conveyor system shown. All items 114 sold in the store can be stored on the storage conveyor 110. The processing system 200 can continuously track each item 114 using its associated PTID and can independently control the conveyor 110 to automatically pick up individual items 114 and transport them to designated locations. The processing system 200 can control each conveyor 110 to move in either direction at varying speeds and to stop and start at pivot positions, thereby allowing the automated system to extract any PTID-identified item 114 or group of items 114 to any PTID-identified destination.

[0174] In an implementation, the automated system can move any item 114 from one location to another based on its associated PTID. For example, processing system 200 may receive (e.g., from another system, a human operator, etc.) an S-vector (potentially along with a C-vector) associated with the item 114 to be moved. Alternatively, processing system 200 may receive (e.g., from another system, a human operator, etc.) an identifier for item 114 (e.g., an alphanumeric or numeric string, name, type, etc.) and determine the S-vector associated with the item's identifier (e.g., in a relational database). In either case, processing system 200 may look up the G-vector associated with the S-vector. Processing system 200 may also receive or determine the G-vector of the destination to which item 114 is to be moved. Processing system 200 may then control conveyors 110, stations 140, and / or other robotic components in the automated system to move item 114 from the source G-vector to the destination G-vector. The processing system 200 can store each movement (e.g., represented by changes in PTID) in a movement table in a relational database (e.g., stored in memory 220), thereby preserving a recorded history of all item movements.

[0175] Figure 4 The use of a conveying system 100 in a process 400 for collecting articles 114, according to an embodiment, is illustrated. Process 400 may be implemented as one or more software modules stored and executed by a processing system 200 (e.g., specifically by one or more processors 210) to control the conveying system 100, such as... Figures 1A-1F Components of the conveying system 100.

[0176] In step 410, the processing system 200 receives a list of one or more items 114. This list may be generated by the user via a graphical user interface (GUI) of an online store or a GUI of an electronic kiosk at a physical store. For example, the user may select items 114 to place in a virtual cart via a GUI. Once the user has gathered all desired items 114 in the virtual cart, the user can initiate or complete the transaction to purchase the items 114 in the virtual cart. For example, the user may purchase items 114 via a regular online checkout process, and the items will be shipped to the user's delivery address or collected for the user to pick up at a physical store. In the case of the user picking up items 114 at a physical store, payment may be made before pickup (e.g., via a GUI via a regular online checkout process) or at pickup (e.g., via a point-of-sale system via a regular checkout process).

[0177] In steps 420-440, the processing system 200 iterates through each item 114 in the list of items 114 received in step 410. These iterations can be performed serially or in parallel. In an embodiment, the processing system 200 can prioritize and / or manage movement within the delivery system 100 of the items 114 to be collected in order to optimize the collection of items 114. Optimization can be defined as minimizing movement, minimizing collection time, and / or minimizing or maximizing one or a combination of other metrics.

[0178] In step 420, the processing system 200 determines whether any item 114 on the list received in step 410 still needs to be collected. If any item 114 on the list still needs to be collected (i.e., "yes" in step 420), then process 400 proceeds to step 430. Otherwise, if no item 114 on the list still needs to be collected (i.e., "no" in step 420), then process 400 may end.

[0179] In step 430, processing system 200 determines the location of the items 114 to be collected. For example, each item 114 in the list may be associated with an item identifier that identifies a specific item 114 or the type of item 114 (e.g., SKU, if the items are interchangeable). Processing system 200 may map the item identifier to a PTID within conveyor system 100. Initially, the PTID may identify a location on storage conveyor 110 or a fixed storage shelf (e.g., section 112).

[0180] In step 440, processing system 200 controls components of conveyor system 100 to move item 114 from its source to its destination. As discussed elsewhere herein, processing system 200 can independently control each conveyor 110 to move (e.g., step) segment 112 to any precise location. Furthermore, during movement, the PTID of item 114 can be continuously updated such that its S vector represents the item's position on a particular conveyor 110 or other holding component, and its G vector represents the item's position on the ground plane of the automated system. Therefore, processing system 200 always knows the coordinates of each item 114 within the automated system, enabling the precise transport of any item 114 from any source location to any destination location within the automated system. Thus, in the main embodiment, processing system 200 is able to locate any particular combination of items 114 from different source locations and transport them to a single destination location.

[0181] In all iterations of steps 420-440, items 114 from the list received in step 410 will be collected at one or more destinations. In embodiments where items 114 are collected for customer pickup, all items 114 are collected at a single destination, such as a storage shelf 132 in a locker or another location directly accessible to the customer or store staff. In embodiments where items 114 are collected for shipment, items 114 may be collected in a single storage unit (e.g., box 160) and transported to a packing area for manual or automated packing into shipping boxes or other containers.

[0182] Processing system 200 can execute process 400 (e.g., for multiple different lists of items 114) and / or step 440 (e.g., for multiple items 114) multiple times, either serially or in parallel. In this case, processing system 200 can improve efficiency by using a single movement to accomplish multiple tasks. Specifically, segments 112 of each conveyor 110 move together like train carriages. Therefore, the movement of one segment 112 of conveyor 110 also pulls all other segments 112 of the same conveyor 110. In embodiments, processing system 200 can select and place items 114 to take advantage of this feature of conveyor 110. For example, processing system 200 can place items 114 destined for nearby destinations (e.g., in the same list or different lists) close to each other on the same conveyor 110, and preferably in positions where these items can be unloaded simultaneously at their destinations (e.g., on adjacent segments 112 of conveyor 110 if the destinations are also adjacent, spaced equidistant from the destinations, etc.). In this way, multiple items 114 can be moved to multiple different destinations in a single move and / or move on and / or leave the transport conveyor in parallel on the transport conveyor 110, thereby multiplying the throughput of the automated system by the number of destinations that can be served in the same move.

[0183] The control software executed by the processing system 200 can optimize the collection of the item list 114 to minimize competition and maximize the performance of the conveyor system 100. Specifically, the processing system 200 can receive multiple item lists 114 from multiple customers simultaneously or concurrently. Additionally, there may be competition for the conveyor 110 when loaders need access. Therefore, the control software can implement strategies to minimize this competition and dwell time, such as using multiple conveyors 110 for loading and unloading at different times, and scheduling deliveries for slow-moving items.

[0184] 2.4. In-store pickup

[0185] The delivery system 100 can be used for in-store pickup, such as in a Micro Fulfillment (MFC) system. Customers can use a website or mobile application to build a virtual cart from items 114 of a selected store and check out, thereby completing the purchase of one or more items 114 from the selected store. The web application used to make the purchase can transmit a list of items 114 to an automated system at the selected store via one or more networks (e.g., the Internet).

[0186] The automated system receives a list of items 114, triggering process 400 and indicating step 410. In this case, the delivery system can retrieve all items 114 from the list and transport them to storage shelves 132 in lockers located in front of or near the store. Locker identifiers (e.g., alphanumeric or numeric strings) and / or locations can be provided to customers (e.g., via a graphical user interface of a mobile application running on the customer's smartphone, via text message, etc.). For example, the customer's mobile application can guide the customer to a specific locker number. The customer can then use the mobile application and / or credentials provided by the mobile application (e.g., code, password, etc.) to open the locker and retrieve the purchased items 114 from the locker. Alternatively, store staff can retrieve the items 114 from the lockers and transport them to customers (e.g., at a pickup counter, curbside, etc.).

[0187] Figures 1C-1F Examples can be used to illustrate a conveyor system 100 for in-store pickup. In such an embodiment, storage system 120 may include one or more storage conveyors 110. Different storage systems 120 may be the same size or different sizes, depending on the footprint, design, intended use, etc.

[0188] like Figure 1C and Figure 1D As shown, one or more transport conveyors 110 can detour into and out of the storage system 120 to form a comb-like structure with multiple teeth or fingers in the plan view. This allows each conveyor 110 to be longer, and thus more items 114 to be stored in a given space (although with a longer average transport path). Alternatively, as Figure 1E and Figure 1F As shown, the transport conveyor 110 can pass through one or more access points (e.g., chute 150) at each storage system 120. The transport system 100 may include a single transport conveyor 110 or multiple transport conveyors 110. The transport conveyors 110 may be nested and parallel, but do not necessarily need to be nested or parallel. For example, different transport conveyors 110 may serve different subsets of the storage systems 120.

[0189] Process 400 can be applied to Figures 1C-1FThe conveyor system 100 shown collects items 114 and transports them to pickup shelves 132 of the destination system 130. The destination system 130 may include multiple lockers (e.g., in front of a store), each locker containing one or more pickup shelves 132.

[0190] In step 410, processing system 200 receives an order that includes a list of one or more items 114 selected by a customer. In steps 420-440, in response to the order, processing system 200 controls one or more conveyors in conveyor 110 to retrieve each item 114 from the storage system 120. For example, an empty segment 112 of transport conveyor 110X can be moved adjacent to a first storage conveyor 110 to receive a first item 114 from the list, the same segment 112 or a different segment 112 can be moved adjacent to a first storage conveyor 110 or a second storage conveyor 110 to receive a second item 114, and so on. Once the destination section 112 of the transport conveyor 110X has been moved to be adjacent to the storage conveyor 110, the automated system can move the item 114 from the storage conveyor 110 to the destination section 112 via any known mechanism (e.g., dropping into a chute, dropping onto the destination section 112, pushing with a robot pusher, pulling with a robot gripper, etc.). In embodiments utilizing stacked transport conveyors 110X, the storage conveyors 110 can be stacked at the same height interval as the transport conveyors 110X, such that the holding surface of each storage conveyor 110 is in substantially the same plane as or slightly above the holding surface of the transport conveyors 110X. Additionally, each storage conveyor 110 may be flush with the transport conveyor 110X, or have a small gap between the storage conveyor and the transport conveyor, or be above the transport conveyor 110X and slightly overlap the transport conveyor, so that the item 114 can be easily moved (e.g., pushed) between the storage conveyor 110 and the transport conveyor 110X.

[0191] In an implementation, processing system 200 can minimize movement by simultaneously retrieving multiple items 114 using multiple segments 112. For example, processing system 200 can move transport conveyor 110X such that an empty segment 112 at storage conveyor 110 is available for each of the multiple items 114 at a time. Then, each storage conveyor 110 with one of the multiple items 114 can simultaneously move its corresponding item 114 to the available empty segment 112 with other storage conveyors 110. Thus, only a single movement is required to locate conveyor 110, and only a single movement is required to move all items 114 to transport conveyor 110X. For example, suppose storage system 120A holds a first item 114 in the list on a first storage conveyor 110, storage system 120C holds a second item 114 in the list on a second storage conveyor 110, and storage system 120G holds a third item 114 in the list on a third storage conveyor 110. The processing system 200 can control the transport conveyor 110X to move by a minimum amount of steps, which simultaneously places a first empty section 112 in front of the first storage conveyor 110, a second empty section 112 in front of the second storage conveyor 110, and a third empty section 112 in front of the third storage conveyor 110. Then, each of the storage systems 120A, 120C, and 120G can be simultaneously controlled to move a first item 114 from the first storage conveyor 110 onto the first empty section 112, push a second item 114 from the second storage conveyor 110 onto the second empty section 112, and push a third item 114 from the third storage conveyor 110 onto the third empty section 112. If a transport conveyor 110X cannot accommodate all items at once, or a single transport conveyor 110X cannot access every item 114 on the list (e.g., only some transport conveyors 110X can access some items 114), the process can be repeated for two or more subsets of items 114 and / or for two or more transport conveyors 110X.

[0192] Once a subset of one or more items from the list 114 has been placed on conveyor 110 (e.g., a quantity that can be accommodated in a single move), processing system 200 controls conveyor 110X to transport each placed item to a single pickup shelf 132 in destination system 130. For example, suppose conveyor 110X holds the first item 114 from the list on a first section 112, the second item 114 from the list on a second section 112, and the third item 114 from the list on a third section 112. Processing system 200 can select the destination pickup shelf 132. Assuming that the first segment 112 is closest to the selected pickup shelf 132 and the third segment 112 is farthest from the selected pickup shelf 132, the processing system 200 will control the conveyor 110X to position the first segment 112 near the back of the selected pickup shelf 132 and move the item 114 from the first segment 112 to the selected pickup shelf 132 (e.g., using a robot pusher), control the conveyor 110X to position the second segment 112 near the back of the selected pickup shelf 132 and move the item 114 from the second segment 112 to the selected pickup shelf 132, control the conveyor 110X to position the third segment 112 near the back of the selected pickup shelf 132 and move the item 114 from the third segment 112 to the selected pickup shelf 132.

[0193] Once all items 114 from the list have been moved to the selected pickup shelf 132, the processing system 200 can notify a web application or other system, which in turn notifies the customer who created the list. This notification may include an identifier for the selected pickup shelf 132, and instructions or credentials for accessing the shelf. In embodiments where the destination system 130 includes lockers, the identifier may include a locker number, and the notification may include a code for opening the locker. Thus, the customer can proceed to the identified locker, open it using the code, and retrieve the collection of items 114 from the pickup shelf 132 according to their list. It is estimated that a shopping list of forty-five items 114 can be collected into the pickup shelf 132 within four minutes using eight parallel cooperating stacking conveyors 110 without any human intervention.

[0194] If a customer delays pickup, causing the collection of ordered items 114 to remain on the pickup shelf 132 for a predetermined period (e.g., longer than seven days), the pickup shelf 132 can be emptied. In one implementation, the pickup shelf 132 can be automatically emptied using the reverse process of process 400, so that the items 114 can be returned to their storage conveyor 110 using transport conveyor 110X. Alternatively, the processing system 200 can automatically notify personnel along with an identifier for the pickup shelf 132, allowing personnel to remove items from the pickup shelf 132 and reload the items 114 onto the storage conveyor 110.

[0195] A concrete example is an in-store pharmacy or dedicated pharmacy. Human pharmacists can be replaced by a fully autonomous delivery system 100. Customers can use system 100 to transact with their prescriptions (e.g., registering via an electronic point-of-sale kiosk and paying with cash, credit card, or other payment methods), and processing system 200 can responsively control delivery system 100 to collect prescriptions (e.g., which may include multiple medication containers) and store them in a bin in front of the customer. Routine procedures can be implemented to provide customers with instructions on using the prescription medications (e.g., via recorded video played at the kiosk or video call), and to verify transactions (e.g., in the case of an in-store pharmacy, providing the customer with an invoice to leave the store).

[0196] 2.5. Automated Store

[0197] The aforementioned automated system for in-store pickup can also be applied to the entire automated store. Specifically, the automated system can be integrated with the store (e.g., MFC). All purchases can be made through an online application and / or electronic kiosk at the store site. Customers can create their own list of items 114, and the automated store can use a delivery system 100 to collect the list of items 114 at a pickup locker, which the customer can then access.

[0198] Therefore, customers do not even need to be given access to the store interior. Certain automated stores can operate without any on-site personnel (e.g., replacing grocery stores, convenience stores, etc.). For example, storage conveyors 110 and / or shelves can be refilled by delivery drivers via external access to the automated store (e.g., loading area 170). Delivery drivers and / or other personnel can also correct any detected inventory errors. Maintenance engineers can be dispatched for routine maintenance of the conveyor system 100 to fix software, electrical, and mechanical errors, etc. Customers can perform their own checkout, and any customer service can be provided via remote operators and / or artificial intelligence (e.g., chatbots) through mobile applications, electronic kiosk user interfaces, telephone calls, etc.

[0199] Since item 114 does not need to be displayed to customers within the automated store, there is no need to assign SKUs to specific locations as in a conventional store. Delivery drivers or other loaders can simply place item 114 on any empty segment 112 of the transport conveyor 110 (e.g., at a stacking port). Machine-readable markings on item 114 can be read by an automated reading station 140 (e.g., using a camera or barcode reader), and item 114 can be automatically associated with the PTID of the segment 112 in which it is placed. The processing system 200 can then distribute item 114 onto holding components (e.g., storage conveyor 110, storage shelves, etc.) according to any optimization strategy (e.g., to minimize movement of item 114 within the automated store during collection).

[0200] Therefore, automated stores replace and accelerate the labor-intensive and manual loading processes of conventional stores. The processing system 200 can control which sections 112 are presented to the loading workers, making training unnecessary or requiring only very simple training. This allows delivery drivers or anyone without prior training to become a loading worker. Furthermore, the processing system 200 can automatically maintain very accurate inventory, eliminating the need for manual inventory checks. Therefore, in addition to providing leaner inventory, reducing stockouts, and increasing efficiency in the supply chain, the delivery system 100 can also eliminate or reduce costs associated with labor, training, inventory management, accounting, and record keeping.

[0201] In this implementation, cameras can be placed inside the automated store (e.g., within automated reading station 140) to allow continuous inspection of the conveyor 110 as it passes the camera and / or other components of the conveyor system 100. Processing system 200 can analyze the image data captured by the cameras to perform real-time inventory checks of items 114 within the automated store and / or quality control of conveyor 110 and / or other components, integrity checks of the PTID system, etc. If a problem is detected, processing system 200 can alert human technicians and / or automatically dispatch maintenance engineers to correct the issue. Notably, multiple automated stores can be monitored from a single central control room.

[0202] Because automated stores eliminate the need for aisles, checkout areas, cart storage, storage rooms, etc., and can utilize very tall vertical storage, they require significantly fewer square feet to serve the same number of items as conventional stores.114 It is estimated that the functionality of a 35,000-square-foot conventional store can be performed by an automated store of only 10,000 square feet. Therefore, automated stores can operate at a much lower cost due to reductions in employee costs, air conditioning and heating, real estate expenses, and more.

[0203] The size of an automated store can depend on its intended use, the type of items 114 to be sold in the store, the desired store floor space, etc. The size of the conveyor 110 can be scaled up or down as needed, provided that the total length of the storage conveyor 110 is sufficient to hold all items 114 provided by the automated store. Larger stores may require larger conveyors 110 and more time between ordering and pickup, but there is no inherent limitation on the size of the conveyor system 100. Therefore, an automated store can be the size of a hypermarket, a general grocery store, a small shopping mall, or a vending machine, or any size in or outside of these. Advantageously, regardless of the size of the automated store chosen, the software and other processes used by the conveyor system 100 can be the same.

[0204] In automated stores where customers are not allowed to enter, they will no longer be able to navigate aisles to find items as they would in a regular store. However, this experience can be simulated via a graphical user interface (GUI) on an online website or mobile app, either through a customer's device or an electronic kiosk in the automated store. The GUI can graphically display all the items 114 available in the automated store and allow customers to select items 114 to add them to a virtual cart. The GUI can display items 114 on shelves and in aisles (e.g., in virtual reality), allowing customers to "walk" through the aisles and "touch" virtual items to add them to a virtual cart, similar to how they would do so in a real store.

[0205] In this implementation, the automated store can provide alternatives when item 114 is out of stock. Specifically, processing system 200 can inventory all items 114 within the automated store in real time, as described elsewhere herein. Therefore, processing system 200 can detect when an ordered item 114 is out of stock and notify the customer who ordered item 114 via a mobile application or other graphical user interface or messaging means. Processing system 200 can also automatically suggest one or more alternative items 114 that are known to be in stock based on the managed real-time inventory. Through the graphical user interface, the customer can select one of the alternative items 114 or simply abandon the out-of-stock item 114.

[0206] If a customer delays pickup, causing the collection of ordered items 114 to remain on the pickup shelf 132 for a predetermined period of time (e.g., longer than seven days), the pickup shelf 132 can be automatically emptied. For example, the pickup shelf 132 can be automatically emptied using the reverse process of process 400, so that the items 114 can be returned to their storage conveyor 110 using transport conveyor 110X.

[0207] In this implementation, the automated store can also be configured to accept returns. In this case, a return kiosk can be provided at a designated location outside the automated store (e.g., near destination system 130). The return kiosk provides access to shelves on which items 114 awaiting return are placed, and a robotic system (e.g., pushers, grippers, etc.) can move the items to conveyor 110. Alternatively, the return kiosk can provide direct access to empty sections 112 of conveyor 110. In either case, conveyor 110 can move returned items 114 to a designated location (e.g., a storage area accessible to a loader, such as loading area 170, where items 114 can be re-stacked into conveyor system 100). Alternatively, a loader can access the return kiosk as needed to manage returned items 114.

[0208] It should be understood that this automated store can use Figures 1A-1F This can be implemented using any of the conveyor systems 100 shown or other configurations of the conveyor system 100. As an example, the automated store may include a circular building with closely surrounding stacked circular disc conveyor belts 110 (such as...). Figure 1A and Figure 1B The wall (shown). Each disc conveyor belt 110 can be driven to rotate on the track by a rack and pinion and a high-power electric motor controlled by the processing system 200. The building may also include pick-up lockers as destination system 130 and stacking ports for loading items 114 onto the disc conveyor belt 110.

[0209] As another example, the automated store could be a small store comprising an industry-standard 40-foot shipping container. The container could include eight stacked elliptical disc conveyor storage conveyors 110 with a holding length of 640 feet. The disc conveyor conveyor 110 could serve pickup lockers (e.g., twenty lockers) on one side of the container. The pickup lockers could be independent of the container, allowing any container to descend behind and align with the pickup locker to begin serving it. In this case, the pickup lockers could be attached to and detached from the container, or simply placed in front of the container without being attached.

[0210] Such container shops can store a limited but useful range of items 114. However, the range of available inventory can be easily expanded by simply placing multiple container shops together, each accommodating different items 114. In this scenario, similar to visiting several shops in a market, customers can access multiple pick-up lockers at different container shops to retrieve all the items they desire.

[0211] When a container shop's inventory runs out, it can be easily replaced by a new, fully-filled container shop. In this case, the container shop may not even include a regular stacking port for refilling. While access to the interior of the container shop can still be provided, allowing a depleted container shop to be refilled and reused, easy access for regular refilling is not required.

[0212] For example, a depleted container store can be removed from its location and transported (e.g., by truck, ship, train, etc.) to a central distribution center. At the central distribution center, the interior of the container store is accessible, allowing items 114 to be reloaded onto storage conveyor 110. The reloaded container store can then be transported back to its original location or provided to a new location (e.g., if a new container store is already provided at the original location).

[0213] 2.6. Online store facilities

[0214] Delivery system 100 can be used in online stores. Customers can use a website or mobile application to build a virtual cart from items 114 in the online store and check out, thereby completing the purchase of one or more items 114 from the online store. The web application used to make the purchase can transmit the list of items 114 to an automated system at one or more warehouses, distribution centers, or other facilities of the online store via one or more networks (e.g., the Internet).

[0215] The automated system receives a list of items 114, triggering process 400 and indicating step 410. In this case, the conveyor system 100 can retrieve all items 114 from the list and transport them to a single location in the packing area within the facility. It should be understood that items 114 can be in accordance with other parts of this document regarding automated pickup and automated storage (e.g., as per [reference to other documents]). Figures 1C-1F and Figure 4 The items are retrieved from the storage conveyor 110 and transported to a single location in the destination system 130 in a similar or identical manner as shown. However, instead of a single location, a shelf 132 in a customer-accessible area (e.g., a locker) serves as a packing area. Subsequently, a robotic system or humans can pack the items 114 collected in the packing area into shipping containers for delivery to the customer's postal address via conventional shipping means (e.g., via shipping services that may utilize cargo planes, freight trains, trucks, delivery personnel, independent contractors, etc.).

[0216] It is estimated that the delivery system 100 can significantly improve the warehousing efficiency of online stores (such as Amazon). TM The throughput at those locations. For example, at Figure 1E and Figure 1F In the illustrated implementation, it is assumed that there are twenty storage systems 120, each with twenty stacked storage conveyors 110A. It is also assumed that each of the twenty levels of each storage system 120 includes a station 140 with twenty robotic pushers, and each robotic pusher is aligned with a section 112 and chute 150 of the corresponding storage conveyor 110A, such that twenty items 114 can be simultaneously pushed from the same storage conveyor 110A into the chute 150 and travel down to boxes 160 on the transport conveyor 110X. Because all operations can be performed in parallel, simple, easy, and fast parallel access can be provided to each item 114 in the automated system. For example, in a single operation taking, for example, twenty seconds, four hundred boxes 160 can be filled with four hundred items 114 in parallel. This roughly translates to 72,000 retrievals per hour. Of course, the number of storage systems 120 and / or storage conveyors 110A can be increased proportionally, and the average push operation time can be reduced from twenty seconds (e.g., if storage conveyors 110A must be stationary during the push) to five seconds or less (e.g., if storage conveyors 110A can continue to move during the push). To further improve throughput, the control software executed by the processing system 200 can optimize the placement of items 114 (e.g., by placing popular or frequently accessed items 114 together on storage conveyors 110A), shorten the path length that items 114 must travel, and the sequence of push operations, etc.

[0217] As another example, suppose a warehouse must store 200,000 items 114. A conveyor system 100 could be configured with 1,000 storage conveyors 110, each sized to hold 200 items 114. Assuming each segment 112 of the storage conveyor 110 must be 12 inches wide to accommodate the items 114, each storage conveyor 110 would have a circumference of 200 feet. This means the longest retrieval would be 100 feet. However, frequently used items 114 can be placed closer to stations 140, minimizing long retrieval times. The average retrieval time for an item 114 could be 10 seconds, and the time required to push an item 114 from station 140 into bin 160 could be approximately 5 seconds, resulting in a total retrieval time of 15 seconds, or a retrieval rate of four times per minute. In such a conveyor system 100, approximately 5.6 million items 114 could be retrieved per day, translating to over two billion retrievals per year.

[0218] 2.7. Inventory management in the supply chain

[0219] The conveying system 100 can be used in a central distribution center within a supply chain. For example, in a supermarket supply chain, suppliers continuously ship items 114 to a distribution center, which then collects the required items 114 and ships them to local stores at various locations. The conveying system 100 can be used in these central distribution centers to collect all items 114 needed by local stores and transport these items 114 to a single pickup location within the central distribution center (e.g., similar to how items 114 might be transported to pickup lockers in stores or packing areas in warehouses, as described elsewhere herein). The collection of items 114 then simply moves from the pickup location to a delivery truck for delivery to the associated local store. In other words, the conveying system 100 can be used to collect items 114 from a local store's "shopping list" based on insufficient stock at the local store.

[0220] It should be understood that the process for collecting items 114 from the lists of items 114 used in these large store areas is the same as the process for collecting items 114 from the shopping lists of individual customers. The only difference is that conveyors 110 need to be larger and potentially more numerous to accommodate all items 114 flowing through the central distribution center.

[0221] It is worth noting that if a delivery system 100 is implemented in a local store, as described elsewhere in this document, the processing system 200 of the automated system in each local store will maintain an accurate real-time inventory of all items 114 in that local store. Therefore, the processing system 200 can automatically generate an accurate list of the items 114 required by the local store based on the real-time inventory and automatically transmit this list to the processing system 200 in the central distribution center. The processing system 200 in the central distribution center can receive this list, thereby triggering process step 410 of process 400 to transport all items 114 in the list to delivery trucks. The delivery trucks can transport all items 114 to the local stores, and delivery drivers can load the items 114 from the trucks into the delivery system 100 at the local stores, as described elsewhere in this document. It is worth noting that each item loaded into the local store is then accurately tracked in real time by the processing system 200 of the local store, and this cycle can be repeated over and over for multiple local stores.

[0222] In one implementation, items 114 in the local store's list can be provided to the loading area in a specific order, such that items 114 are loaded onto the delivery truck in that specific order. The order can be selected to optimize loading at the local store. For example, items 114 stored close to each other on the storage conveyor 110 at the local store can be ordered close to each other during loading on the delivery truck. Thus, these items 114 also leave the delivery truck close to each other and are loaded into the conveyor system 100 at approximately the same time. As a more specific example, suppose at the local store, the first item 114 is stored on the segment 112 of the storage conveyor 110 furthest from the loading port, the third item 114 is stored on the segment 112 of the storage conveyor 110 closest to the loading port, and the second item 114 is stored on the segment 112 of the storage conveyor 110 between these furthest and closest positions. In this scenario, the central distribution center's conveyor system 100 can sort the items to be loaded into the delivery trucks such that the third item 114 is loaded first (e.g., furthest from the truck's rear door), the second item 114 is loaded second, and the first item 114 is loaded third (e.g., closest to the truck's rear door). Therefore, these items are unloaded and loaded into the local store's conveyor system 100, such that the first item is loaded first (e.g., because it is closest to the truck's rear door), the second item is loaded second, and the third item is loaded third (e.g., because it is furthest from the truck's rear door).

[0223] Similarly, items 114 from lists of different local stores can be grouped into batches and loaded onto a single delivery truck in an optimized order. This optimized order can be based on the planned routes of the delivery truck to the local stores. For example, suppose the delivery truck is scheduled to visit a first local store first, a second local store second, and a third local store third. In this case, the processing system 200 can control the conveying system 100 to transport batch 1 for the third local store, batch 2 for the second local store, and batch 3 for the first local store to the pickup area in the central distribution center, so that they are loaded into the delivery truck in this order. Thus, the batch for the first local store will be closest to the rear door of the delivery truck, allowing it to be easily unloaded first; the batch for the second local store will be in the middle, allowing it to be unloaded second; and the batch for the third local store will be furthest from the rear door of the delivery truck, allowing it to be unloaded third. This optimizes delivery by ensuring that when a batch is to be unloaded, it is not blocked from unloading by any other batch in the delivery truck.

[0224] 2.8. Other applications

[0225] The disclosed implementation can be used and applied at micro or macro scales to applications beyond those described above. For example, any system that must coordinate the movement of different items for a specific purpose or re-sort items to a new location can benefit from the disclosed conveyor system 100. Such systems include, but are not limited to, automated diagnostic instruments, assembling parts into products on manufacturing production lines, preparing various dishes in restaurant kitchens, and styling clothing for individual shoppers in high-end clothing stores. It should be understood that the disclosed conveyor system 100 can vary in size and scale, from, for example, an automated diagnostic system, to a large fulfillment center encompassing one million square feet, depending on its application. All such systems stack, pick, transport, and sort items into specific collections. Advantageously, the conveyor system 100 can achieve lower costs due to cheaper manufacturing assembly and warehouse installation, a simpler single navigation system, simpler robots, simpler power systems, a longer mean time between failures (MTBF), faster response time to failures, faster throughput, and better data analysis.

[0226] In clinical laboratories, up to three hundred different analytes (e.g., glucose, cholesterol, hemoglobin, etc.) in patient samples are tested using several different types of analytical modules (e.g., chemistry, immunoassay, chemiluminescence, ion-selective electrode (ISE), hematology, immunohematology, coagulation, nucleic acid testing (NAT), etc.). Clinical laboratories utilize multiple automated diagnostic instruments, each dedicated to a specific type of testing procedure, and each instrument is loaded with the reaction tubes, reagents, and samples required to run its specific type of test. Typically, seventy different reagents are stored in specific instruments for different test runs. Each instrument has its own pre-analysis and post-analysis modules, as well as the loading of test tubes, reagents, and samples, and items are automatically picked and placed as needed through each step of the testing procedure. Furthermore, samples from a specific patient must be allocated to several different instruments, which is very labor-intensive. In addition, to meet throughput requirements, clinical laboratories often utilize multiple copies of the same full-scale instrument, each costing up to $250,000.

[0227] In a particular implementation, the disclosed delivery system 100 can be used within a single automated diagnostic instrument to store or install all types of analytical modules on an instrument served by common pre-analysis and post-analysis modules. In other words, the delivery system 100 enables a universal diagnostic instrument (UDI) capable of performing any subset of a menu of clinical laboratory tests (e.g., three hundred or more different test procedures) on a sample according to a physician's instructions. Such a UDI would be highly desirable for both logistical and cost reasons.

[0228] The UDI may include a delivery system 100 in which all types of analytical modules are connected in series along the same intelligent concentric disc conveyor belt 110. A common storage of test tubes, reagents, and samples can serve all these analytical modules. Specifically, as described elsewhere herein, the concentric disc conveyor belt 110 can rotate to distribute test tubes, reagents, and samples to each analytical module when needed. Advantageously, each type of test requires only the analytical module of each diagnostic instrument, rather than each large, bulky, and expensive instrument itself. It is worth noting that the analytical module represents only 20% of the total cost of the diagnostic instrument. Furthermore, to increase throughput, the UDI may include multiple copies of the same analytical module.

[0229] Advantageously, the movement of items 114 (e.g., samples, reagents, test tubes, etc.) within the UDI through the various processing stations 140 required for various tests can be accomplished by the disc conveyor belt conveyor 110 itself. This eliminates the need for robotic movers. Furthermore, if the analysis modules are appropriately spaced apart, their operation can be synchronized, such that the same set of movements required for one analysis station 140 is performed simultaneously by the same set of movements required for all analysis stations 144, but with different sets of items 114 (e.g., test tubes, reagents, samples, etc.). In other words, the analysis stations 140 are utilized synchronously and in parallel via movement within the transport system 100.

[0230] As another example, conveyor system 100 can be used for manufacturing or assembly. Specifically, a coordinated fleet of storage conveyors 110 can be used to bring parts, which are items 114, to human or robotic assemblers for assembly (e.g., assembling into composite objects). Movements can be scheduled to bring the right parts (e.g., vector W) to the right place (e.g., vector C, vector S, and / or vector G) at the right time (e.g., vector T). For example, in an automotive production line, many variations of a vehicle model, typically specified by the buyer, are manufactured, ranging from a basic model to a fully loaded model. Processing system 200 can retrieve the correct parts for each individual vehicle model being constructed, and perform this operation in the right order and at the right time.

[0231] The above description of the disclosed embodiments is provided to enable any person skilled in the art to adopt or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the basic principles described herein can be applied to other embodiments without departing from the spirit or scope of the invention. Therefore, it should be understood that the specification and drawings presented herein represent currently preferred embodiments of the invention, and thus represent the subject matter broadly contemplated by the invention. It should also be understood that the scope of the invention fully encompasses other embodiments that may be apparent to those skilled in the art, and the scope of the invention is accordingly not limited thereto.

[0232] The combinations described herein, such as "at least one of A, B, or C", "one or more of A, B, or C", "at least one of A, B, and C", "one or more of A, B, and C", and "A, B, C, or any combination thereof", include any combination of A, B, and / or C, and may include multiple A, multiple B, or multiple C. Specifically, combinations such as "at least one of A, B, or C", "one or more of A, B, or C", "at least one of A, B, and C", "one or more of A, B, and C", and "A, B, C, or any combination thereof" may be only A, only B, only C, A and B, A and C, B and C, or A and B and C, and any such combination may contain one or more members of its constituent elements A, B, and / or C. For example, a combination of A and B may include one A and multiple B, multiple A and one B, or multiple A and multiple B.

Claims

1. A system for providing and coordinating multiple conveyors within an automated system, comprising: At least one transport conveyor, wherein the at least one transport conveyor includes a belt having multiple sections, each section being configured to hold at least one item and move in series with each other; A plurality of storage conveyors, wherein each of the plurality of storage conveyors includes a belt having a plurality of sections, each section being configured to hold at least one item and move in series with each other, and wherein each of the plurality of storage conveyors includes a portion aligned with a portion of the at least one transport conveyor, such that an item can be moved from any of the plurality of sections of the storage conveyor to any of the plurality of sections of the at least one transport conveyor. At least one hardware processor; as well as One or more software modules, the one or more software modules being configured to, when executed by the at least one hardware processor Receive instructions to collect one or more items at a single destination location, and, For each of the one or more items Identify a section of one of the multiple storage conveyors that holds the article at the top of one of the multiple sections of the storage conveyor. Control the storage conveyor to align the identified segment with one of a plurality of segments in the at least one transport conveyor. The article is moved from the identified section of the storage conveyor to the section of the at least one transport conveyor. Control the at least one transport conveyor to align the segment of the at least one transport conveyor with the single destination location, and The item is moved from one segment of the at least one transport conveyor to the single destination location. Each of the plurality of storage conveyors is configured to move in two directions, and the one or more software modules are configured to, when executed by the at least one hardware processor: Determine which of the two directions to move the storage conveyor in order to minimize movement; as well as Control the movement of the storage conveyor in the determined direction.

2. The system of claim 1, wherein the at least one hardware processor is configured to independently control each of the at least one transport conveyor and each of the plurality of storage conveyors to move independently of each other.

3. The system of claim 2, wherein each of the at least one transport conveyor and each of the plurality of storage conveyors is configured to move in two directions.

4. The system of claim 1, wherein each of the plurality of storage conveyors is oriented to move in a direction orthogonal to the direction of movement of the portion of the at least one transport conveyor aligned with the storage conveyor.

5. The system of claim 4, wherein each of the plurality of storage conveyors includes a vertical loop, wherein the holding surface of each of the plurality of storage conveyors is positioned above the holding surface of the at least one transport conveyor, and wherein moving the article from the identified segment of the one storage conveyor onto the one segment of the at least one transport conveyor includes moving the identified segment toward the at least one transport conveyor until the article falls from the one storage conveyor onto the holding surface of the at least one transport conveyor.

6. The system of claim 1, wherein the portion of each of the plurality of storage conveyors aligned with a portion of the at least one transport conveyor moves in a direction parallel to the direction of movement of the portion of the at least one transport conveyor to which the portion of the storage conveyor is aligned.

7. The system of claim 6, wherein each of the plurality of storage conveyors includes a horizontal loop, and the holding surface of each of the plurality of storage conveyors is positioned above the holding surface of the at least one transport conveyor.

8. The system of claim 7, further comprising a downward sliding path from a holding surface of each of the plurality of storage conveyors to a holding surface of the at least one transport conveyor, wherein moving the article from the identified segment in the one storage conveyor to the one segment in the at least one transport conveyor comprises pushing the article onto the downward sliding path so that the article slides onto the holding surface of the at least one transport conveyor.

9. The system of claim 7, wherein moving the article from the identified segment in the one storage conveyor to the one segment in the at least one transport conveyor comprises: Push the item onto the downward sliding path so that the item slides into the box at one end of the downward sliding path; as well as The box is pushed onto the holding surface of the at least one transport conveyor.

10. The system of claim 1, further comprising one or more reading stations, the one or more reading stations including a reader device configured to read characteristics of an article held on any one of a plurality of sections of the at least one transport conveyor or the plurality of storage conveyors.

11. The system of claim 1, wherein the system comprises: The building surrounds the at least one transport conveyor and the plurality of storage conveyors; as well as A destination system comprising multiple destination locations accessible by the at least one transport conveyor, the multiple destination locations including the single destination location.

12. The system of claim 1, wherein the one or more software modules are further configured to, when executed by the at least one hardware processor: Receive the instruction to collect the one or more items from a web application via at least one network; and The identifier of the single destination location is provided to the web application via the at least one network.

13. The system of claim 1, wherein at least one of the one or more articles comprises one or more of a test tube, a reagent, or a sample.

14. A method for providing and coordinating multiple conveyors within an automated system, the method comprising using at least one hardware processor in the automated system to perform the following operations: the automated system includes at least one transport conveyor and multiple storage conveyors, the at least one transport conveyor including a belt having multiple segments, each segment configured to hold at least one item and move in series with each other, each of the multiple storage conveyors including a belt having multiple segments, each segment configured to hold at least one item and move in series with each other, and each of the multiple storage conveyors including a portion aligned with a portion of the at least one transport conveyor, such that an item can be moved from any segment of the multiple segments of the storage conveyor to any segment of the multiple segments of the at least one transport conveyor, the operations comprising: Receive instructions to collect one or more items at a single destination location; and For each of the one or more items Identify a section of one of the multiple storage conveyors that holds the article at the top of one of the multiple sections of the storage conveyor. Control the storage conveyor to align the identified segment with one of a plurality of segments in the at least one transport conveyor. The article is moved from the identified section of the storage conveyor to the section of the at least one transport conveyor. Control the at least one transport conveyor to align the segment of the at least one conveyor with the single destination location, and The item is moved from one segment of the at least one transport conveyor to the single destination location. Each of the plurality of storage conveyors is configured to move in two directions, and the one or more software modules are configured to, when executed by the at least one hardware processor: Determine which of the two directions to move the storage conveyor in order to minimize movement; as well as Control the movement of the storage conveyor in the determined direction.

15. A non-transitory computer-readable medium storing instructions, wherein the instructions, when executed by a processor of an automated system, cause the processor to perform the following operations: the automated system includes at least one transport conveyor and a plurality of storage conveyors, the at least one transport conveyor including a belt having a plurality of segments, each segment configured to hold at least one item and move in series with each other, each of the plurality of storage conveyors including a belt having a plurality of segments, each segment configured to hold at least one item and move in series with each other, and each of the plurality of storage conveyors including a portion aligned with a portion of the at least one transport conveyor, such that an item can be moved from any segment of the plurality of segments of the storage conveyor to any segment of the plurality of segments of the at least one transport conveyor, the operations including: Receive instructions to collect one or more items at a single destination location; and For each of the one or more items Identify a section of one of the multiple storage conveyors that holds the article at the top of one of the multiple sections of the storage conveyor. Control the storage conveyor to align the identified segment with one of a plurality of segments in the at least one transport conveyor. The article is moved from the identified section of the storage conveyor to the section of the at least one transport conveyor. Control the at least one transport conveyor to align the segment of the at least one conveyor with the single destination location, and The item is moved from one segment of the at least one transport conveyor to the single destination location. Each of the plurality of storage conveyors is configured to move in two directions, and the one or more software modules are configured to, when executed by the at least one hardware processor: Determine which of the two directions to move the storage conveyor in order to minimize movement; as well as Control the movement of the storage conveyor in the determined direction.