Patent ID: 12240700

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure is not limited to these specific details.

Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. The appearance of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Further, the terms “a” and “an” herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not for other embodiments.

Furthermore, in the following detailed description of the present disclosure, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.

Embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of computer-readable storage medium, such as program modules, executed by one or more computers or other devices. By way of example, and not limitation, computer-readable storage media may comprise non-transitory computer-readable storage media and communication media; non-transitory computer-readable media include all computer-readable media except for a transitory, propagating signal. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.

Some portions of the detailed description that follows are presented and discussed in terms of a process or method. Although steps and sequencing thereof are disclosed in figures herein describing the operations of this method, such steps and sequencing are exemplary. Embodiments are well suited to performing various other steps or variations of the steps recited in the flowchart of the figure herein, and in a sequence other than that depicted and described herein. Some portions of the detailed descriptions that follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those utilizing physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.

In some implementations, any suitable computer usable or computer readable medium (or media) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer-usable, or computer-readable, storage medium (including a storage device associated with a computing device) may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable medium may include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fibre, a portable compact disc read-only memory (CD-ROM), an optical storage device, a digital versatile disk (DVD), a static random access memory (SRAM), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, a media such as those supporting the internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be a suitable medium upon which the program is stored, scanned, compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of the present disclosure, a computer-usable or computer-readable, storage medium may be any tangible medium that can contain or store a program for use by or in connection with the instruction execution system, apparatus, or device.

In some implementations, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. In some implementations, such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. In some implementations, the computer readable program code may be transmitted using any appropriate medium, including but not limited to the internet, wireline, optical fibre cable, RF, etc. In some implementations, a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

In some implementations, computer program code for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java®, Smalltalk, C++ or the like. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. However, the computer program code for carrying out operations of the present disclosure may also be written in conventional procedural programming languages, such as the “C” programming language, PASCAL, or similar programming languages, as well as in scripting languages such as JavaScript, PERL, or Python. In present implementations, the used language for training may be one of Python, Tensorflow™ Bazel, C, C++. Further, decoder in user device (as will be discussed) may use C, C++ or any processor specific ISA. Furthermore, assembly code inside C/C++ may be utilized for specific operation. Also, ASR (automatic speech recognition) and G2P decoder along with entire user system can be run in embedded Linux (any distribution), Android, iOS, Windows, or the like, without any limitations. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the internet using an Internet Service Provider). In some implementations, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs) or other hardware accelerators, micro-controller units (MCUs), or programmable logic arrays (PLAs) may execute the computer readable program instructions/code by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

In some implementations, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus (systems), methods and computer program products according to various implementations of the present disclosure. Each block in the flowchart and/or block diagrams, and combinations of blocks in the flowchart and/or block diagrams, may represent a module, segment, or portion of code, which comprises one or more executable computer program instructions for implementing the specified logical function(s)/act(s). These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program instructions, which may execute via the processor of the computer or other programmable data processing apparatus, create the ability to implement one or more of the functions/acts specified in the flowchart and/or block diagram block or blocks or combinations thereof. It should be noted that, in some implementations, the functions noted in the block(s) may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

In some implementations, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks or combinations thereof.

In some implementations, the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed (not necessarily in a particular order) on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts (not necessarily in a particular order) specified in the flowchart and/or block diagram block or blocks or combinations thereof.

Referring now to the example implementation ofFIG.1, there is shown a system100that may reside on and may be executed by a computer (e.g., computer12), which may be connected to a network (e.g., network14) (e.g., the internet or a local area network). Examples of computer12may include, but are not limited to, a personal computer(s), a laptop computer(s), mobile computing device(s), a server computer, a series of server computers, a mainframe computer(s), or a computing cloud(s). In some implementations, each of the aforementioned may be generally described as a computing device. In certain implementations, a computing device may be a physical or virtual device. In many implementations, a computing device may be any device capable of performing operations, such as a dedicated processor, a portion of a processor, a virtual processor, a portion of a virtual processor, a portion of a virtual device, or a virtual device. In some implementations, a processor may be a physical processor or a virtual processor. In some implementations, a virtual processor may correspond to one or more parts of one or more physical processors. In some implementations, the instructions/logic may be distributed and executed across one or more processors, virtual or physical, to execute the instructions/logic. Computer12may execute an operating system, for example, but not limited to, Microsoft® Windows®; Mac® OS X®; Red Hat® Linux®, or a custom operating system. (Microsoft and Windows are registered trademarks of Microsoft Corporation in the United States, other countries or both; Mac and OS X are registered trademarks of Apple Inc. in the United States, other countries or both; Red Hat is a registered trademark of Red Hat Corporation in the United States, other countries or both; and Linux is a registered trademark of Linus Torvalds in the United States, other countries or both).

In some implementations, the instruction sets and subroutines of system100, which may be stored on storage device, such as storage device16, coupled to computer12, may be executed by one or more processors (not shown) and one or more memory architectures included within computer12. In some implementations, storage device16may include but is not limited to: a hard disk drive; a flash drive, a tape drive; an optical drive; a RAID array (or other array); a random-access memory (RAM); and a read-only memory (ROM).

In some implementations, network14may be connected to one or more secondary networks (e.g., network18), examples of which may include but are not limited to: a local area network; a wide area network; or an intranet, for example.

In some implementations, computer12may include a data store, such as a database (e.g., relational database, object-oriented database, triplestore database, etc.) and may be located within any suitable memory location, such as storage device16coupled to computer12. In some implementations, data, metadata, information, etc. described throughout the present disclosure may be stored in the data store. In some implementations, computer12may utilize any known database management system such as, but not limited to, DB2, in order to provide multi-user access to one or more databases, such as the above noted relational database. In some implementations, the data store may also be a custom database, such as, for example, a flat file database or an XML database. In some implementations, any other form(s) of a data storage structure and/or organization may also be used. In some implementations, system100may be a component of the data store, a standalone application that interfaces with the above noted data store and/or an applet/application that is accessed via client applications22,24,26,28. In some implementations, the above noted data store may be, in whole or in part, distributed in a cloud computing topology. In this way, computer12and storage device16may refer to multiple devices, which may also be distributed throughout the network.

In some implementations, computer12may execute application20for management of a warehouse and specifically for consolidating items for fulfilment of an order in the warehouse. In some implementations, system100and/or application20may be accessed via one or more of client applications22,24,26,28. In some implementations, system100may be a standalone application, or may be an applet/application/script/extension that may interact with and/or be executed within application20, a component of application20, and/or one or more of client applications22,24,26,28. In some implementations, application20may be a standalone application, or may be an applet/application/script/extension that may interact with and/or be executed within system100, a component of system100, and/or one or more of client applications22,24,26,28. In some implementations, one or more of client applications22,24,26,28may be a standalone application, or may be an applet/application/script/extension that may interact with and/or be executed within and/or be a component of system100and/or application20. Examples of client applications22,24,26,28may include, but are not limited to, a standard and/or mobile web browser, an email application (e.g., an email client application), a textual and/or a graphical user interface, a customized web browser, a plugin, an Application Programming Interface (API), or a custom application. The instruction sets and subroutines of client applications22,24,26,28, which may be stored on storage devices30,32,34,36, coupled to user devices38,40,42,44, may be executed by one or more processors and one or more memory architectures incorporated into user devices38,40,42,44.

In some implementations, one or more of storage devices30,32,34,36, may include but are not limited to: hard disk drives; flash drives, tape drives; optical drives; RAID arrays; random access memories (RAM); and read-only memories (ROM). Examples of user devices38,40,42,44(and/or computer12) may include, but are not limited to, a personal computer (e.g., user device38), a laptop computer (e.g., user device40), a smart/data-enabled, cellular phone (e.g., user device42), a notebook computer (e.g., user device44), a tablet (not shown), a server (not shown), a television (not shown), a smart television (not shown), a media (e.g., video, photo, etc.) capturing device (not shown), and a dedicated network device (not shown). User devices38,40,42,44may each execute an operating system, examples of which may include but are not limited to, Android®, Apple® iOS®, Mac® OS X®; Red Hat® Linux®, or a custom operating system.

In some implementations, one or more of client applications22,24,26,28may be configured to effectuate some or all of the functionality of system100(and vice versa). Accordingly, in some implementations, system100may be a purely server-side application, a purely client-side application, or a hybrid server-side/client-side application that is cooperatively executed by one or more of client applications22,24,26,28and/or system100.

In some implementations, one or more of client applications22,24,26,28may be configured to effectuate some or all of the functionality of application20(and vice versa). Accordingly, in some implementations, application20may be a purely server-side application, a purely client-side application, or a hybrid server-side/client-side application that is cooperatively executed by one or more of client applications22,24,26,28and/or application20. As one or more of client applications22,24,26,28, system100, and application20, taken singly or in any combination, may effectuate some or all of the same functionality, any description of effectuating such functionality via one or more of client applications22,24,26,28, system100, application20, or combination thereof, and any described interaction(s) between one or more of client applications22,24,26,28, system100, application20, or combination thereof to effectuate such functionality, should be taken as an example only and not to limit the scope of the disclosure.

In some implementations, one or more of users46,48,50,52may access computer12and system100(e.g., using one or more of user devices38,40,42,44) directly through network14or through secondary network18. Further, computer12may be connected to network14through secondary network18, as illustrated with phantom link line54. System100may include one or more user interfaces, such as browsers and textual or graphical user interfaces, through which users46,48,50,52may access system100.

In some implementations, the various user devices may be directly or indirectly coupled to network14(or network18). For example, user device38is shown directly coupled to network14via a hardwired network connection. Further, user device44is shown directly coupled to network18via a hardwired network connection. User device40is shown wirelessly coupled to network14via wireless communication channel56established between user device40and wireless access point (i.e., WAP)58, which is shown directly coupled to network14. WAP58may be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi®, RFID, and/or Bluetooth™ (including Bluetooth™ Low Energy) device that is capable of establishing wireless communication channel56between user device40and WAP58. User device42is shown wirelessly coupled to network14via wireless communication channel60established between user device42and cellular network/bridge62, which is shown directly coupled to network14.

In some implementations, some or all of the IEEE 802.11x specifications may use Ethernet protocol and carrier sense multiple access with collision avoidance (i.e., CSMA/CA) for path sharing. The various 802.11x specifications may use phase-shift keying (i.e., PSK) modulation or complementary code keying (i.e., CCK) modulation, for example, Bluetooth™ (including Bluetooth™ Low Energy) is a telecommunications industry specification that allows, e.g., mobile phones, computers, smart phones, and other electronic devices to be interconnected using a short-range wireless connection. Other forms of interconnection (e.g., Near Field Communication (NFC)) may also be used.

The system100may include a computing system200(in the form of a controller200, as shown inFIG.2) for warehouse management and for managing items for fulfilment of an order in the warehouse by issuing commands (as will be described later in more detail). Herein,FIG.2is a block diagram of an example of the controller200capable of implementing embodiments according to the present disclosure. In one embodiment, an application server as described herein may be implemented on exemplary controller200. In the example ofFIG.2, the controller200includes a processing unit205(hereinafter, referred to as CPU205) for running software applications (such as, the application20ofFIG.1) and optionally an operating system. Memory210stores applications and data for use by the CPU205. Storage215provides non-volatile storage for applications and data and may include fixed disk drives, removable disk drives, flash memory devices, and CD-ROM, DVD-ROM or other optical storage devices. An optional user input device220includes devices that communicate user inputs from one or more users to the controller200and may include keyboards, mice, joysticks, touch screens, etc. A communication or network interface225is provided which allows the controller200to communicate with other computer systems via an electronic communications network, including wired and/or wireless communication and including an Intranet or the Internet. In one embodiment, the controller200receives instructions and user inputs from a remote computer through communication interface225. Communication interface225can comprise a transmitter and receiver for communicating with remote devices. An optional display device250may be provided which can be any device capable of displaying visual information in response to a signal from the controller200. The components of the controller200, including the CPU205, memory210, data storage215, user input devices220, communication interface225, and the display device250, may be coupled via one or more data buses260.

In the embodiment ofFIG.2, a graphics system230may be coupled with the data bus260and the components of the controller200. The graphics system230may include a physical graphics processing unit (GPU)235and graphics memory. The GPU235generates pixel data for output images from rendering commands. The physical GPU235can be configured as multiple virtual GPUs that may be used in parallel (concurrently) by a number of applications or processes executing in parallel. For example, mass scaling processes for rigid bodies or a variety of constraint solving processes may be run in parallel on the multiple virtual GPUs. Graphics memory may include a display memory240(e.g., a framebuffer) used for storing pixel data for each pixel of an output image. In another embodiment, the display memory240and/or additional memory245may be part of the memory210and may be shared with the CPU205. Alternatively, the display memory240and/or additional memory245can be one or more separate memories provided for the exclusive use of the graphics system230. In another embodiment, graphics system230includes one or more additional physical GPUs255, similar to the GPU235. Each additional GPU255may be adapted to operate in parallel with the GPU235. Each additional GPU255generates pixel data for output images from rendering commands. Each additional physical GPU255can be configured as multiple virtual GPUs that may be used in parallel (concurrently) by a number of applications or processes executing in parallel, e.g., processes that solve constraints. Each additional GPU255can operate in conjunction with the GPU235, for example, to simultaneously generate pixel data for different portions of an output image, or to simultaneously generate pixel data for different output images. Each additional GPU255can be located on the same circuit board as the GPU235, sharing a connection with the GPU235to the data bus260, or each additional GPU255can be located on another circuit board separately coupled with the data bus260. Each additional GPU255can also be integrated into the same module or chip package as the GPU235. Each additional GPU255can have additional memory, similar to the display memory240and additional memory245, or can share the memories240and245with the GPU235. It is to be understood that the circuits and/or functionality of GPU as described herein could also be implemented in other types of processors, such as general-purpose or other special-purpose coprocessors, or within a CPU.

The system100may also include an end user or a client device300(as shown inFIG.3). In embodiments of the present disclosure, the client device300may embody a scanning unit (as will be discussed later). Herein,FIG.3is a block diagram of an example of the scanning unit300capable of implementing embodiments according to the present disclosure. In the example ofFIG.3, the scanning system300includes a processor305(hereinafter, referred to as CPU305) for running software applications (such as, the application20ofFIG.1) and optionally an operating system. A user input device320is provided with includes devices that communicate user inputs from one or more users and may include keyboards, mice, joysticks, touch screens, and/or microphones. Further, a communication interface325is provided which allows the scanning system300to communicate with other computer systems (e.g., the controller200ofFIG.2) via an electronic communications network, including wired and/or wireless communication and including the Internet. The scanning system300may also include a scanner355may be any device capable of scanning one or more of barcodes, QR codes, or any other form of codes. In other examples, the scanner355may be a Bluetooth™ enabled device without any limitations. In the present examples, the scanner355may be a ring scanner as known in the art and discussed later in the description. A display device350may be provided which may be any device capable of displaying visual information, including information received from the decoder355. In particular, as will be described below, the display device350may be used to display visual information received from the controller200ofFIG.2. The components of the scanning system300may be coupled via one or more data buses360.

It may be seen that compared to the controller200in the example ofFIG.2, the scanning system300in the example ofFIG.3may have fewer components and less functionality and, as such, may be referred to as a user device or the like. However, the scanning system300may include other components including those described above. In general, the scanning system300may be any type of device that has display capability, the capability to decode (decompress) data, and the capability to receive inputs from a user and send such inputs to the controller200. However, the scanning system300may have additional capabilities beyond those just mentioned.

Referring now toFIG.4, illustrated is an exemplary simplified top plan view illustration of a warehouse execution system400implemented in a warehouse. As used herein, the warehouse may represent any location, structure or facility for storing items, and may generally be in the form of a building. For the purposes of the present disclosure, the terms “warehouse” and “warehouse execution system” have been interchangeably used hereinafter, with the term warehouse400being used to generally represent physical components and the warehouse execution system400being used to generally representing other components (sometimes, non-physical components) responsible for operations. Further, herein, the “items” may refer to any product, goods, merchandise, material, document, resource, etc. handled by warehouse. Non-limiting examples of “items” include mechanical parts, electronic components, electrical systems, building materials, industrial and/or commercial products/parts, chemicals, vehicles, machines, natural resources, pharmaceutical items, medical equipment, defence systems, computer devices, office supplies, furniture, food items, and articles of clothing. Warehouse may serve as an intermediary between item sources (e.g., manufactures of items) and item destinations (e.g., retailers or sellers of items). Warehouse may be associated with an enterprise which may include any business-related entity, such as a corporation, firm, partnership, sole proprietorship, conglomeration, etc. Items may include manufacturing parts, finished products, and service parts.

In the present embodiments, the warehouse execution system400may be implemented on a system (such as, the system100ofFIG.1); and the said terms “warehouse execution system400” and “system100” have been interchangeably used herein afterwards. For the purposes of the present disclosure, the warehouse execution system400may include one or more hardware, software, and/or firmware components for managing and executing activities associated with warehouse. The warehouse execution system400may be implemented in a supply chain infrastructure associated with enterprise. The warehouse execution system400may include one or more associated management components (e.g., computers, servers, handheld devices, RF devices, scanners, automated loading and unloading devices, packing devices, etc.) that collaboratively facilitate management and execution of warehouse activities. The warehouse execution system400may also include one or more software applications, such as enterprise software applications compatible with the application system provided by SAP® or the like, widely used in warehouse management.

In some examples, the warehouse execution system400may be implemented as a subsystem within, or integrated with, a broader business application associated with enterprise. For example, the warehouse execution system400may be implemented within or together with a Customer Relationships Management (CRM), Supply Chain Management (SCM) system, or Enterprise Resource Management (ERP) application. Although depicted as separate from warehouse, all or part of the warehouse execution system400may be located or dispersed within the warehouse. The warehouse execution system400may include logic for processing requests from one or more systems (such as, the controller200) interacting with the warehouse execution system400. Requestors may include purchasing systems, sales order systems, order fulfilment systems, CRM applications, etc. In one configuration, the warehouse execution system400may process Electronic Data Interchange (EDI) transactions. The warehouse execution system400may also interact with various systems using the Standard Generalized Markup Language (SGML), Extensible Markup Language (XML), Electronic Business XML (ebXML) and/or any other language that facilitates the creating and sharing of common information formats. The warehouse execution system400may additionally include and/or leverage one or more validation processes and languages, such as Tree Regular Expressions (TREX) and the like.

As generally illustrated inFIG.4, the warehouse400includes an item retrieval arrangement410, a conveyor arrangement420, one or more infeed stations430, a scanning unit440(similar to the scanning unit300ofFIG.3) provided at each of the one or more infeed stations430, an item transfer arrangement450, one or more platform levels460(only one level being visible in the illustration ofFIG.4), and one or more sorting robots470provided on each of the one or more platform levels460. Further, as shown inFIG.4, the item transfer arrangement450further includes one or more out-bound conveyors480and one or more in-bound conveyors490. The various arrangements and components as described herein to be part of the warehouse400work in conjunction to achieve the objective of consolidating items for fulfilment of orders therein.

FIG.5illustrates a simplified diagrammatic illustration of a portion of the warehouse management system400showing the item retrieval arrangement410with the conveyor arrangement420connecting the item retrieval arrangement410to the one or more infeed stations430therein, in accordance with one or more exemplary embodiments of the present disclosure. As shown, the item retrieval arrangement410includes a storage area500, in the form of a multi-level storage structure. The storage area500comprises a plurality of racks502. As may be seen in FIG.5, the plurality of racks502are arranged in spaced-apart rows which define a pair of racks502with an aisle therebetween, and each such aisle generally provides access to two opposing racks502. Though inFIG.5reference is being made to one of pair of racks502and a corresponding aisle504therebetween, it can be appreciated that a plurality of rows of racks502and corresponding aisles504are contemplated in the item retrieval arrangement410(as shown inFIG.5). The racks502may be in the form of a conventional case flow bay which includes multiple shelves506. The shelves506are vertically spaced and are arranged at different storage levels.

In the item retrieval arrangement410, the items are delivered by totes and are placed on the shelves506in the rack502. Herein, totes are storage containers used to hold items for transportation in the warehouse400. Hereinafter, the term “totes” and “items” have been generally interchangeably used. There may be several different sizes of totes. Additionally, some totes may be designed for holding frozen and refrigerated goods. Each tote may have an identifier to support automated movement through the warehouse400by, for instance, the conveyor arrangement420. In an example, each tote may have a bar code identifier that can be scanned as it moves past various points in the warehouse400. In this manner, a tote can be moved from a pallet to the rack502or other location with the warehouse400, while its location can be easily tracked at all points of time.

As may further be seen inFIG.5, the item retrieval arrangement410includes at least one shuttle510associated with one of the multiple shelves506from each rack502in the pair of racks502at the same corresponding storage level. The shuttle510is configured to move, generally, horizontally along the associated shelves506in the pair of racks502to store and retrieve items therefrom. The shuttle510is mobile in the horizontal direction along the shelves506, and is implemented at each storage level between the pair of racks502. The shuttle510, whose detail is not shown in the drawing, is equipped with a running platform, which can contain a package on its mid-section; a pair of arms installed in the front and back of the running platform, which can extend in the horizontal direction perpendicular to the running direction of the platform towards either the left or right side of the platform; and fingers placed at each end of the arms, which can open and close (recede and extend). When the arms are extended towards either the left or right side with the fingers in the closed position, the package carried on the mid-section of the platform can be pushed out, thus the package can be placed on the shelf506at the same height level as the mid-section surface of the running platform. Conversely, when the arm is extended into the shelf506with the fingers in the open position, then, a finger is put into a closed position to hook the package, and finally, the arm is contracted, allowing the package to be retrieved onto the running platform.

Referring again toFIG.5, as may be seen, the item retrieval arrangement410includes stations512located at one end of each of the shelves506in the plurality of racks502. These stations512are equipped with station conveyors514. The number of station conveyors514is the same as the number of storage levels of the shelves506in the racks502. Each of the station conveyor514is placed so that its conveying surface is generally at the same height level as the shelf506of the corresponding storage level, within the racks502. The direction of operation of the station conveyors514is predetermined to be along the front and back direction. A number of types and forms can be considered for the station conveyor514. In the present examples, a roller conveyor that allows the package to be loaded on or off in the direction perpendicular to the direction of conveyance is implemented.

The item retrieval arrangement410further includes at least one lift516associated with each one of the plurality of racks502. The lift516is configured to move, generally, vertically along the associated rack502between the different storage levels therein. The lift516is placed adjacent to the stations512, on the side away from the layered shelves506of the racks502. As may be contemplated by a person skilled in the art, the lift516generally includes a mast (not shown) placed in the space between the shipping and receiving stations512, and platforms (not shown) located at the left and right sides of the mast, which can move up and down.

Further, as illustrated inFIG.5, the warehouse400includes the conveyor arrangement420. As may be seen, the conveyor arrangement420is associated with each of the plurality of racks502. The conveyor arrangement420is adapted to receive (and transport) items for any of the racks502from the at least one lift516associated therewith. As shown, the warehouse400, or specifically the conveyor arrangement420includes a system of conveyor belts which may be associated with scanners (such as, fixed barcode scanners), and hand-held scanners (such as, rings scanners) for automating both the order fulfilment (outbound) and inventory restocking (inbound) processes. In the present examples, the conveyor arrangement420may be managed by an Order Fulfilment Subsystem which in turn may be a part of the warehouse execution system400.

For inbound scenario, the conveyor arrangement420moves a tote with one or more items to one of the lifts516(associated with the rack502in which the corresponding item is to be stored) to be picked thereby, which moves the tote to the desired storage level, where the tote is picked by the station conveyor514, from which the tote is picked by the associated shuttle510at that storage level, to be moved to the specific bay of one of the shelves506in the pair of racks502associated therewith. For outbound scenario, the process is reversed, in which a tote with the desired item is picked from the respective bay in the shelf506of the rack502by the shuttle510and dropped at the station conveyor514associated with the corresponding shelf506, to be transferred to the conveyor arrangement420via the lift516. As discussed, identifiers, such as barcodes, QR codes, or Bluetooth™ transmitters, on the totes allow them to be automatically routed to specific destinations within the warehouse400.

Further, as illustrated inFIG.5, the warehouse400includes the one or more infeed stations430. As discussed, the conveyor arrangement420connects the item retrieval arrangement410to the one or more infeed stations430in the warehouse400. As may be seen, the item retrieval arrangement410is located at one end422of the conveyor arrangement420and the one or more infeed stations430are located at other end424of the conveyor arrangement420. Herein, the item retrieval arrangement410is configured to retrieve items associated with one or more orders from the storage area500in the warehouse400and place the retrieved items at the conveyor arrangement420, to be transferred to the one or more infeed stations430in the warehouse400.

Referring now toFIG.6, illustrated is a simplified diagrammatic illustration of a portion of the warehouse management system400showing the scanning unit440provided at each of the one or more infeed stations430, the item transfer arrangement450and the one or more platform levels460, in accordance with one or more exemplary embodiments of the present disclosure. In the illustration ofFIG.6, the warehouse400is shown to include two platform levels460. As shown inFIG.6, the one or more platform levels460are positioned with the one or more infeed stations430located adjacent to one side462thereof and the item transfer arrangement450located adjacent to other side464thereof. The infeed stations430act as an intermediate space between the item retrieval arrangement410and the one or more platform levels460, and thereby to the item transfer arrangement450. In the present embodiments, each of the one or more infeed stations430is provided with at least one of the scanning unit440. Herein, the scanning unit440is configured to be implemented for scanning the items received at corresponding one of the one or more infeed stations430to generate a scan information therefor. For this purpose, each of the items may have an identification code (not shown) associated therewith, which may be scanned by the scanning unit440. The identification code may be in the form of a barcode, a QR code, an RFID tag, or simply an alpha-numeric code, without any limitations. Accordingly, the scanning unit440may be in the form of an imaging unit (like a camera or a barcode scanner) or an RFID reader, for reading the identification code, to generate the scan information therefor. Herein, the scan information for the item is representative for unique identification (as read from the said identification code) of the item for identifying the corresponding item from the plurality of items in the warehouse400.

Further, as illustrated inFIG.6, the warehouse400includes the one or more platform levels460with the one or more infeed stations430located adjacent to the one side462thereof and the item transfer arrangement450located adjacent to the other side464thereof. Further, the warehouse400includes the one or more sorting robots470provided on each of the one or more platform levels460. In one example, one or more human operators (as represented by numeral650) may be positioned at each of the one or more infeed stations430, and those human operators650may pick up the received items at the other end424of the conveyor arrangement420and implement the scanning unit440for scanning of the item thereby. That is, for instance, the human operators650may pick the item from the conveyor arrangement420, face the item (or specifically the identification code thereof) to the scanning unit440to be scanned thereby, and drop the item to one of the one or more sorting robots470positioned adjacent to the corresponding one of the one or more infeed stations430, on the one or more platform levels460. In other examples, the warehouse execution system400includes a robotic manipulator660provided at each of the one or more infeed stations430. Herein, the robotic manipulator660may be utilized in place of the human operator(s). The robotic manipulator660is configured to pick the item received at corresponding one of the one or more infeed stations430; manipulate the item to allow for scanning thereof by the scanning unit440; and drop the item to the said one of the one or more sorting robots470. That is, the robotic manipulator660, as employed for the purposes of the present disclosure, is capable of gripping and picking items from the conveyor arrangement420, moving the item to the scanning unit440, manipulating (changing orientation) of the item such that the identification code faces the scanning unit440if required, and dropping the scanned item to one of the one or more sorting robots470positioned adjacent to the corresponding one of the one or more infeed stations430. In the present examples, the robotic manipulator660may be in the form of a six-axis robotic arm as known in the art; however, any other type of the robotic manipulator capable of picking, moving and dropping items may be utilized, including robotic gantry, etc, without any limitations.

Further, as illustrated inFIG.6, the item transfer arrangement450has a plurality of storage bins600. In embodiments of the present disclosure, the item transfer arrangement450is configured to transfer the storage bins600of the plurality of storage bins600to a packaging station (not shown) in the warehouse400. Specifically, as may be seen inFIG.6, the item transfer arrangement450is located at the said other side464of the one or more platform levels460. Herein, the item transfer arrangement450includes one or more buffer lines602arranged at one or more transfer levels604(better shown and described with reference toFIG.7, as discussed later) corresponding to the one or more platform levels460with each of the one or more buffer lines602having one or more of the plurality of storage bins600placed thereon, such that the one or more sorting robots470transfer the items to the storage bins600on the buffer lines602at the transfer level604corresponding to the underneath platform level460. As discussed, in the illustration ofFIG.6, the warehouse400is shown to include two platform levels460, and thereby two transfer levels604corresponding to the two platform levels460. In other words, the item transfer arrangement450includes one or more transfer levels604, with each of the one or more transfer levels604having one or more buffer lines602. Further, each of the one or more buffer lines602have one or more of the plurality of storage bins600placed thereon.

In an embodiment, at least two buffer lines602are arranged at each of the one or more transfer levels604. The said at least two buffer lines602are disposed in the form of a pair of buffer lines602(as better seen inFIG.7, as discussed later). The item transfer arrangement450further includes at least one shuttle610arranged intermediate and associated with each of the at least two buffer lines602. That is, the at least one shuttle610is assigned to the said pair of buffer lines602and disposed between the two buffer lines602of the said pair of buffer lines602. The at least one shuttle610is configured to pick the storage bin(s)600from each of the at least two buffer lines602to be transferred to the packaging station, in the warehouse400. In other words, the single shuttle610caters to each of the two buffer lines602in the said pair of buffer lines602, to pick up storage bins600from each of the two buffer lines602in the associated pair of buffer lines602, transfer the storage bins600as required and drop the storage bins600to each of the two buffer lines602in the associated pair of buffer lines602. It may be contemplated that the said shuttle610may generally be similar in design and configuration to the shuttle510as discussed above, and thus details for the shuttle610have not been repeated herein for the brevity of the present disclosure.

Further, as may be seen fromFIG.6, the one or more sorting robots470are configured to travel on the platform level460underneath thereof to transfer the items from the one or more infeed stations430to one of the storage bins600of the plurality of storage bins600in the item transfer arrangement450. Herein, each of the platform levels460have plurality of markers620(as shown inFIG.6) formed thereon. Herein, the markers620may be in the form of colour-coded markers, magnetic markers or the like, which are well known and are widely implemented in factories' floor and the like for purposed of robot navigation. The sorting robots470are in the form of mobile robots that are configured to follow a travel path defined by combination of multiple markers620, on the corresponding platform level460. Usually, the sorting robots470are configured to follow a straight-line path between two markers620of the plurality of markers620. The sorting robots470is thereby capable of travelling on the platform level460underneath thereof to transfer the items from the one or more infeed stations430to one of the storage bins600of the plurality of storage bins600in the item transfer arrangement450.

As discussed, the one or more sorting robots470are configured to travel on the platform level460(of the one or more platform levels460) underneath thereof to transfer the items from the one or more infeed stations430to one of the storage bins600of the plurality of storage bins600in the item transfer arrangement450. Again, as may be seen fromFIG.6, the platform levels460may extend along a length of the buffer lines602from the said other side464thereof. Further, as shown, the markers620may be provided along the extended portion of the buffer lines602, so that the sorting robots470travelling on the platform level460underneath thereof are able to transfer the item thereon to any of the storage bins600placed on the buffer lines602at the transfer level604corresponding to the underneath platform level460. In the present embodiments, the sorting robot470may be configured to drop the item into the storage bin600, by tilting of the storage space therein or any other mechanism as known in the art.

FIG.7illustrates a simplified side plan view illustration of a portion of the warehouse management system400showing multiple platform levels460with correspondence to transfer levels604in the item transfer arrangement450, in accordance with one or more exemplary embodiments of the present disclosure. In the illustration ofFIG.7, the warehouse400is shown to include three platform levels460and correspondingly three transfer levels604in the item transfer arrangement450; however, it may be contemplated that the warehouse400may include more or less number of such corresponding levels460,604without departing from the spirit and the scope of the present disclosure. Further, each of the transfer level604includes at least two buffer lines602, with at least one shuttle610arranged intermediate and associated with each of the at least two buffer lines602. As may be contemplated from the illustration ofFIG.7, the sorting robot470at one of the platform levels460may transfer the item to one of the storage bins600at the transfer level604corresponding to the platform level460underneath thereof.

Similarly, it may be appreciated that the one or more out-bound conveyors480, in the item transfer arrangement450, are arranged at the one or more transfer levels604. That is, the number of levels of the out-bound conveyors480are same and correspond to the transfer levels604, in the item transfer arrangement450. Referring again toFIGS.4and6in combination, as may be seen, the out-bound conveyor480is arranged with first ends482thereof being disposed adjacent to the buffer lines602of the corresponding transfer level604, and a second end484thereof being disposed adjacent to the packaging station. Herein, the one or more out-bound conveyors480are configured to receive the storage bin600from the at least one shuttle610of the corresponding transfer level604at the respective first ends482thereof and transfer the said assigned storage bin to the packaging station at the respective second end484thereof. Further, as shown inFIG.4, the in-bound conveyor490is arranged with a first end492thereof being disposed adjacent to the packaging station, and a second end494thereof being disposed adjacent to most distant of the first ends482of the corresponding out-bound conveyor480in the corresponding transfer level604. Herein, the one or more in-bound conveyors490are configured to receive one or more empty storage bins600from the packaging station at the respective first end492thereof and transfer the received empty storage bins to the respective second end494thereof to be picked by the at least one shuttle610of the corresponding transfer level604.

In the warehouse400, as discussed, the storage bins600with the items associated with the order being processed therein are received at the packaging station via the one or more out-bound conveyors480. Herein, at the packaging station, those items are removed from the storage bins600and the empty storage bins are placed onto the one or more in-bound conveyors490at the first end492thereof. Again, referring toFIGS.4and6in combination, in the present embodiments, the at least one shuttle610is further configured to pick the one or more empty storage bins600from the in-bound conveyor490of the corresponding transfer level604from the second end494thereof and transfer the picked one or more empty storage bins600to one of the associated at least two buffer lines602. That is, when the empty storage bin600, as transferred from the packaging station, is received at the second end494of the in-bound conveyor490, such empty storage bin600is picked back by the at least one shuttle610of the corresponding transfer level604and subsequently transferred back to one of the buffer lines602to be placed thereon, based on availability of space to accommodate such empty storage bin600therein.

Now, as discussed, the warehouse execution system400of the present disclosure includes the controller200. The controller200, herein, may act as the server device issuing commands to control the various components, including the item retrieval arrangement410, the conveyor arrangement420, the robotic manipulators660at the one or more infeed stations430, the one or more sorting robots470and the at least one shuttle610in the item transfer arrangement450. In the present embodiments, the controller200is configured to control the said components for achieving consolidating of items for fulfilment of orders in the warehouse400in an efficient manner.

Herein, the controller200may be any processing device, system or part thereof that controls at least one operation of the device. The controller200may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The controller200may be a multi-core processor, a single core processor, or a combination of one or more multi-core processors and one or more single core processors. For example, the one or more processors may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. Further, the memory may include one or more non-transitory computer-readable storage media that can be read or accessed by other components in the device. The memory may be any computer-readable storage media, including volatile and/or non-volatile storage components, such as optical, magnetic, organic or other memory or disc storage, which can be integrated in whole or in part with the device. In some examples, the memory may be implemented using a single physical device (e.g., optical, magnetic, organic or other memory or disc storage unit), while in other embodiments, the memory may be implemented using two or more physical devices without any limitations.

As discussed, in the warehouse400, a single order may demand multiple items, including different types of products. Multiple items as part of a single order may need to be grouped together for efficient delivery. These different types of products may need to be picked from multiple racks502and then consolidated as per the order. Herein, the warehouse400may act as a temporary storing space for the items, with the items coming in being stored in the warehouse400temporarily to be shipped to their respective destinations. According to embodiments of the present disclosure, the controller200is configured to receive order information about the one or more items to be delivered as part of the single order. Herein, the order information may be in the form of invoice information comprising a list of the one or more items associated with the order. The invoice information provides details about one or more customers, include details such as the delivery address, to which the items need to be delivered. In the present examples, multiple items related to the single order are consolidated (grouped) together and shipped to the provided address of the customer for efficient delivery.

The controller200is configured to execute a command for an order being processed with information about one or more items associated therewith. In an example, the controller200may execute a command for processing a batch of orders which may be scheduled as per predefined intervals, i.e., after every predefined period of time. Herein, for example, such command may be executed by the controller200after every 15 minutes. In an embodiment, the controller200is configured to determine the orders that may be grouped in a given batch of orders based on delivery information of the selected orders therein. That is, the controller200may group those orders together which may need to be delivered at same or close-by geographical locations. This ensures that when the items for each order are consolidated and packed together as a delivery package, the delivery packages for other orders in the given batch of orders are also available generally at the same time, so that all the said delivery packages associated to the said given batch of orders may be picked up at the same time, to be delivered together using a single or multiple delivery vehicles as required.

In an embodiment, the controller200is further configured to execute the command for the order being processed based on availability of one or more of: the item retrieval arrangement410, the one or more infeed stations430, the one or more sorting robots470and the item transfer arrangement450, for respective processing of the said at least one item associated with the order being processed. In particular, the controller200is configured to execute the command for the order being processed based on availability of one or more of: the item retrieval arrangement410, the robotic manipulators660at the one or more infeed stations430, the one or more sorting robots470and the at least one shuttle610in the item transfer arrangement450, for respective processing of the one or more items associated with the order being processed. For this purpose, in an example embodiment, the controller200may check availability, for processing of items associated with the order being processed, of each of the item retrieval arrangement410, the robotic manipulators660at the one or more infeed stations430, the one or more sorting robots470and the at least one shuttle610. The controller200may determine if any of the said components may be causing bottleneck due to that particular component being already in processed of pending items related to the same order or some other order; and if that may be the case, the controller200may delay the next command by temporarily increasing the said predefined interval, so as to allow the component causing the bottleneck sufficient time to process the item thereat; and vice-versa. This enables for smoother operation of the warehouse for efficient consolidation of items for fulfilment of orders therein.

Further, the controller200is configured to implement the item retrieval arrangement410to retrieve, at one instance, at least one item of the one or more items associated with the order being processed and implement the conveyor arrangement420to transfer the retrieved at least one item to one of the one or more infeed stations430, in response to the executed command. That is, the item retrieval arrangement410may retrieve one of the items of the order being processed. It may be appreciated that the item retrieval arrangement410may simultaneously retrieve other items of the order being processed. Further, the item retrieval arrangement410may parallelly retrieve items of other orders being processed as part of the batch of the orders as per the executed command. The steps involved in the retrieval of items via the item retrieval arrangement410may be understood based on the description provided above, and thus not repeated herein for the brevity of the present disclosure. The item retrieval arrangement410may one-by-one (or parallelly) transfer the retrieved items to the conveyor arrangement420.

As discussed, the conveyor arrangement420transfers the retrieved at least one item to one of the one or more infeed stations430. The conveyor arrangement420may receive the retrieved items from the item retrieval arrangement410. Herein, the conveyor arrangement420may be in the form of continuously moving conveyor belt that transfers the retrieved items as received from the item retrieval arrangement410towards the one or more infeed stations430. Generally, the warehouse400may include a transfer mechanism (not shown), such as a rotating table or the like, adjacent to each of the infeed stations430to move the item from the conveyor arrangement420to the corresponding infeed station430. In an embodiment, the controller200is further configured to implement the conveyor arrangement420to transfer the retrieved at least one item to one of the one or more infeed stations430based on availability thereof for processing of the at least one item associated with the order being processed. In particular, the controller200is configured to implement the conveyor arrangement420to transfer the retrieved at least one item to one of the one or more infeed stations430based on availability of the corresponding robotic manipulator660to pick the item thereat. That is, in case of there being multiple infeed stations430, and with one of the robotic manipulators660at any one of the said multiple infeed stations430being already in process of handling the item when the item is at a point on the conveyor arrangement420for where it may be transferred to the corresponding infeed station430, the controller200may let the item move further to next infeed station430of the said multiple infeed stations430at which the corresponding robotic manipulator660may be available to handle the said item when received thereat. In case of human operators650handling items at the infeed stations430, the controller200may determine to transfer (direct) the item to one of the infeed stations based on the number of items being in queue thereat (i.e., not scanned as yet) which were previously transferred thereat. It may be appreciated that this is done so as to reduce the bottleneck and increase the warehouse output.

When the item is received at one of the infeed station430, the human operator650or the robotic manipulator660available thereat may pick the item and manipulate the item to allow for scanning thereof by the scanning unit440, which in turn generate the scan information therefor (as discussed above). Further, the controller200is configured to acquire, from the scanning unit440, the scan information for the said at least one item received at corresponding one of the one or more infeed stations430. Herein, the acquired scan information allows the controller200to determine of which order the scanned item is part of. This may be confirmed by the controller based on the order information, as described above. In the embodiments of the present disclosure, this process helps the controller to, generally, define where to move the scanned item (part of the order being processed) in the warehouse400such that other items of the same order could be consolidated with the said item.

Herein, the controller200is configured to assign one of the storage bins600of the plurality of storage bins600at the item transfer arrangement450to the order being processed based on the acquired scan information. That is, the controller200may fix one of the storage bins600at the item transfer arrangement450for a particular order; in this case, the order being processed. If the scanned item is a first item to be scanned of the multiple items of the order being processed, then the controller200may assign one of the empty storage bins600available at the item transfer arrangement450. On the other hand, if the scanned item is one of the multiple items of the order being processed of which at least one item (say, the said first item) has already been scanned, then the controller200may assign the same storage bin600as assigned to the other items of the same order, at the item transfer arrangement450. It may be appreciated that this is done so that when all the items of the order being processed have been transferred to the assigned storage bin600, the items would be consolidated as required for fulfilment of the order.

Further, the controller200is configured to implement one of the one or more sorting robots470to collect the said at least one item from the said one of the one or more infeed stations430and transfer the said at least one item to the assigned storage bin600to the order being processed. Herein, the controller200may issue command for controlling the sorting robots470, such that one of the available sorting robots470moves to a position adjacent to the infeed station430where the item has been scanned, so as to receive the scanned item thereon. The controller200may control such sorting robot470to move so as to be readily available once the scan process may be completed. This may be achieved by estimating usual time taken for the item to be scanned at the infeed station430(separately for both the human operator650as well as the robotic manipulator660) and the possible time to be taken by the available sorting robot470to reach the said position. It may generally be understood that the closest available sorting robot470is implemented for the purpose, for reducing time to reach the said position and distance travelled by the implemented sorting robot470.

In an embodiment, the controller200is further configured to implement one of the one or more sorting robots470, available to receive the said at least item thereon, to be positioned at the corresponding platform level460adjacent to one of the one or more infeed stations430to receive the item thereon in a distributed manner. That is, the controller200ensures that the sorting robots470from each of the one or more platform levels460are utilized to receive the items thereon from the one or more infeed stations430, for further transfer to the item transfer arrangement450. It may be appreciated that this may be necessary so that not just all the sorting robots470available at various platform levels460are utilized efficiently, but also the various storage bins600located at various transfer levels604are also filled (as will be discussed in the subsequent paragraph) in a more efficient manner.

Thereafter, the item may be placed on the sorting robot470and the same sorting robot470may travel on the corresponding platform level to reach a point adjacent to the buffer line602in the item transfer arrangement where the assigned storage bin600to the item placed thereon is located (as shown inFIG.8). Herein, the controller200may determine the location of the assigned storage bin600based on any known technique, including but not limited to, the number of the storage bins600placed on the respective buffer line602at any given instant. In the present embodiments, the controller200may further define a path to be travelled by the implemented sorting robot470so as to avoid collision and cause minimal obstruction to other sorting robot470travelling on the same platform level460, as the implemented sorting robot470moves thereon. When the implemented sorting robot470reaches the said location, the sorting robot470may drop the item placed thereon into the assigned storage bin600thereto.

Further, the controller200is configured to implement the item transfer arrangement450to transfer the said assigned storage bin600to the packaging station, when each of the one or more items associated with the order being processed are transferred to the said assigned storage bin600. That is, when all the items associated with the order being processed may have been consolidated in the respective assigned storage bin600, the item transfer arrangement450transfers such storage bin600to the packaging station for further processing, such as combined packing of all the consolidated items at the packaging station or the like. This results in efficient grouping of items for fulfilment of the order being processed, as the human operator at the packaging station or the like may not have to sort the items as per the order. In an example, when the order may be large, i.e., the order may have more items than it could be accommodated into a single storage bin600, then multiple storage bins600are assigned to such particular order, and each of the multiple storage bins600are allowed to be filled with the items, until all the items of such particular order have been received in the said multiple storage bins600, and those multiple storage bins600may be transported consecutively by the one or more shuttles610in the item transfer arrangement450so as to be dropped at the one or more out-bound conveyors480one after the other, and thereby reach the packaging station generally simultaneously, and be grouped together as part of the single order for further processing.

The transfer of the storage bin600in the item transfer arrangement450may involve picking of the storage bin600by the corresponding at least one shuttle610(as shown inFIG.9), transferring the picked storage bin600to one of the one or more out-bound conveyors480(as shown inFIG.10) at the corresponding first end482thereof, so as to be moved to the packaging station located at the second end484of the implemented out-bound conveyor480. Further, the empty storage bins600may be transferred back to be utilized by placing those at the first end492of the in-bound conveyor490. As discussed, in one or more embodiments, the at least one shuttle610is further configured to pick the one or more empty storage bins600from the in-bound conveyor490of the corresponding transfer level604from the second end494thereof and transfer the picked one or more empty storage bins to one of the associated at least two buffer lines602. Such steps may be contemplated by a person skilled in the art and thus have not been described in detail herein for the brevity of the present disclosure.

The present disclosure further provides a method for consolidating items for fulfilment of orders in a warehouse (such as, the warehouse400). Various embodiments and variants disclosed above, with respect to the aforementioned system400, apply mutatis mutandis to the present method for managing items for fulfilment of an order in the warehouse.

FIG.11illustrates a flowchart1100listing steps involved in the said method for consolidating items for fulfilment of orders in a warehouse. At step1102, the method comprises executing a command for an order being processed with information about one or more items associated therewith. At step1104, the method comprises implementing an item retrieval arrangement to retrieve, at one instance, at least one item of the one or more items associated with the order being processed and implement the conveyor arrangement to transfer the retrieved at least one item to one of one or more infeed stations in the warehouse, in response to the executed command. At step1106, the method comprises implementing a scanning unit provided at each of the one or more infeed stations, for scanning the items received thereat to generate a scan information therefor. At step1108, the method comprises assigning one of storage bins of a plurality of storage bins at an item transfer arrangement to the order being processed based on the acquired scan information. At step1110, the method comprises implementing one of one or more sorting robots, provided on one or more platform levels with the one or more infeed stations located adjacent to one side thereof and the item transfer arrangement located adjacent to other side thereof, to collect the said at least one item from the said one of the one or more infeed stations and transfer the said at least one item to the assigned storage bin to the order being processed. At step1112, the method comprises implementing the item transfer arrangement to transfer the said assigned storage bin to a packaging station in the warehouse, when each of the one or more items associated with the order being processed are transferred to the said assigned storage bin.

In one or more embodiments, the method comprises providing one or more buffer lines arranged at one or more transfer levels corresponding to the one or more platform levels with each of the one or more buffer lines having one or more of the plurality of storage bins placed thereon, such that the one or more sorting robots transfer the items to the buffer lines at the transfer level corresponding to the underneath platform level.

In one or more embodiments, the method comprises providing at least two buffer lines arranged at each of the one or more transfer levels, and at least one shuttle arranged intermediate and associated with each of the at least two buffer lines to pick the said assigned storage bin from one of the at least two buffer lines to be transferred to the packaging station.

In one or more embodiments, the method comprises providing one or more out-bound conveyors arranged at the one or more transfer levels and configured to receive the said assigned storage bin from the at least one shuttle of the corresponding transfer level at respective first ends thereof and transfer the said assigned storage bin to the packaging station at a respective second end thereof; and providing one or more in-bound conveyors arranged at the one or more transfer levels and configured to receive one or more empty storage bins from the packaging station at respective first end thereof and transfer the received empty storage bins to respective second end thereof to be picked by the at least one shuttle of the corresponding transfer level.

In one or more embodiments, the method comprises implementing the at least one shuttle to pick the one or more empty storage bins from the in-bound conveyor of the corresponding transfer level from the second end thereof and transfer the picked one or more empty storage bins to one of the associated at least two buffer lines.

In one or more embodiments, the method comprises providing a robotic manipulator at each of the one or more infeed stations, and implementing the robotic manipulator to: pick the item received at corresponding one of the one or more infeed stations; manipulate the item to allow for scanning thereof by the scanning unit; and drop the item to the said one of the one or more sorting robots.

In one or more embodiments, the method comprises executing the command for the order being processed based on availability of one or more of: the item retrieval arrangement, the one or more infeed stations, the one or more sorting robots and the item transfer arrangement, for respective processing of the said at least one item associated with the order being processed.

In one or more embodiments, the method comprises implementing the conveyor arrangement to transfer the retrieved at least one item to one of the one or more infeed stations based on availability thereof for processing of the at least one item associated with the order being processed.

In one or more embodiments, the method comprises implementing one of the one or more sorting robots, available to receive the item thereon, to be positioned at the corresponding platform level adjacent to one of the one or more infeed stations to receive the item thereon in a distributed manner.

In the present system and method, it is ensured that the items are diverted to operators at the infeed station in such a way that consolidative time of order is minimized. Further, the items for various orders are distributed in such a way that the sorting robots travel a minimum distance between the infeed station and the item transfer arrangement. The present system and method further avoid cross transfer ensuring one sorting robot does not obstruct the path of other sorting robots. Further, the present system and method ensure that the items are distributed in various platform levels and various buffer lines so that the output is maximized; i.e., distributes the load at multi levels so that the sortation per unit area is maximized.

The systems and methods of the present disclosure can be utilized for multi-level sorting robot implementations (which are generally beyond human reach) and further for transporting of items for order fulfilment from one point to another in the warehouse in a fully autonomous manner. Given the repetitive nature of the task of consolidating orders, the present disclosure helps to eliminate the need for manpower, resulting in a fully automated system of order box collection and transportation, employing a mix of sorting robots, carton shuttles, conveyors and software to coordinate all activities. The present system helps with automated consolidation of multiple orders starting from 50 to 10,000 plus orders simultaneously in one batch of orders, as per the issued command by the warehouse execution system. The present disclosure provides automated retrieval of consolidated orders for further processing, and further provides automated placement of empty storage bins for processing of further orders. The present system enables efficient usage of cubic space for consolidation in the warehouse. Also, by coordinating these activities powered by the present Warehouse Execution System would help maintain real-time tracking of items associated with various orders across the warehouse leading to higher accuracy at this stage of the operation, eliminating the chances of pilferage and inaccurate order consolidation. The present system also helps to eliminate human risk which exists in case of required transfer of items at upper platform levels or the like, by implementation of robotic manipulators.

The systems and methods of the present disclosure provide an effective solution for consolidating items for fulfilment of orders in a warehouse. The present disclosure leads to considerable reduction of variable cost, such as elimination of searching of items, elimination of manpower for sorting the items, efficient last mile delivery, efficient cross dock process at later stages of supply chain including staging of items, etc. Implementation of the present system and method results in maximum space and resource utilization in the warehouse, and results in fastest possible fulfilment of an order. The system and method of the present disclosure may further be implemented for a consistent throughput from the warehouse. This may help to design the warehouse in consideration of the maximum throughput capacity that may be required from to-be designed warehouse with maximum utilization of the resources (such as, lifts and shuttles) and thereby, in turn, can be used to, generally, reduce the number of such components required and result in savings in the overall cost involved during the initial set-up of the warehouse. The resultant of the implementation of the embodiments of the present disclosure also leads to faster delivery of items to the customer, which result in customer satisfaction.

The foregoing descriptions of specific embodiments of the present disclosure have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the present disclosure to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The exemplary embodiment was chosen and described in order to best explain the principles of the present disclosure and its practical application, to thereby enable others skilled in the art to best utilize the present disclosure and various embodiments with various modifications as are suited to the particular use contemplated.