The present disclosure is generally related to systems, methods, apparatuses, technologies, and/or the like for loading, storing, and/or dispensing objects in an automated and/or semi-automated fashion.
There is frequently a need, such as in a logistics network operation, to transport and dispense objects (e.g., parcels with contents) at different locations while doing so efficiently, precisely, and with a scalable capacity. Traditionally, such processes have relied on a substantial amount of manual handling, which can inherently limit the capacity and adaptability of such operations. Thus, improvements in the automated or semi-automated handling of objects in such contexts are needed.
This summary is intended to introduce a selection of concepts in a simplified form that is further described below in the detailed description section of this disclosure. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in isolation to determine the scope of the claimed subject matter.
In brief, and at a high level, this disclosure describes, among other things, systems, methods, and apparatuses, technologies, and/or the like for loading, storing, and dispensing objects in an automated and/or semi-automated fashion. The embodiments described herein can be implemented in different object-handling environments such as, for example, environments associated with packaging (e.g., of consumer goods), loading/unloading (e.g., of cargo), routing and delivery (e.g., in connection with a logistics network operation), and/or the like. Particular embodiments described herein may be implemented in stationary environments (e.g., stationary facilities) and/or in moving environments (e.g., in vehicles, ships, aircraft, or other mobile transports). In addition, methods of using the aforementioned embodiments are also described herein.
The present systems, methods, and apparatuses for transporting, storing, depositing, and handling objects are described in detail in connection with the attached drawing figures, which illustrate non-limiting examples of the disclosed subject matter, wherein:
This detailed description is provided in order to meet statutory requirements. However, this description is not intended to limit the scope of the invention. Rather, the claimed subject matter may be embodied in other ways, including different steps, different combinations of steps, different operations, different combinations of operations, different elements, and/or a different combination of elements, similar to those described in this disclosure and in conjunction with other present or future technologies and solutions. Moreover, although the term “Operation” may be used herein to identify different elements of methods employed, the term should not be interpreted as implying any particular order among or between different elements except when the order is explicitly described as such.
In general, disclosed herein are various embodiments of a storage system and related components that allow for adaptively, dynamically, and/or modifiability loading, storing, and/or dispensing objects in an automated and/or semi-automated fashion, including in different object-handling environments. For example, various embodiments of the disclosure may be implemented in a logistics network operation in furtherance of downstream routing. Accordingly, various embodiments of the storage system described herein can increase the efficiency, precision, and capacity of an object-handling process or operation, among other benefits. Example embodiments that accomplish the aforementioned benefits are described below in connection with
The term “object,” as used herein, should also be interpreted broadly to include any one or combination of items, articles, substances, and/or the like. For example, an “object” may be a parcel with contents intended for a particular destination in a logistics network.
The term “mobile robotic platform,” as used herein, should be interpreted broadly to include any apparatus or configuration of components that is mobile and operates, at least partially, in an automated or semi-automated fashion. For example, a mobile robotic platform may be configured to perform “last distance delivery” to a recipient in a logistics network operation. In addition, a mobile robotic platform described herein may be ground-based, aerial-based, and/or autonomously operated or at least partially autonomously operated. Examples of mobile robotic platforms contemplated herein include, without limitation, multi-leg robots (e.g., bi-leg, quad-leg, and the like), wheel-driven robots, track-driven robots, or other mobile configurations.
The term “logistics network,” as used herein, should be interpreted broadly to include any combination of components, systems, technology, persons, locations, and/or the like that operate to transport objects to different destinations, including downstream locations and designated delivery destinations.
Turning to
In some embodiments, one or more of the shelves 130 of the frame 110 may be angled relative to a surface on which the frame 110 is supported such that the shelves 130 are angled downward in the direction of gravity. This angled orientation may facilitate the dispensing of objects from the storage system 100. For example, such a configuration can facilitate the dispensing of objects (e.g., object 160) from the storage system 100 directly into a storage bag or container, onto a conveyer mechanism, onto a sorting mechanism, onto a mobile robotic platform, and/or the like that is positioned below the storage system 100.
In some embodiments, the mass of the package is the only source of actuating force to push the door open and allow the package to slide out of the shelf. In these embodiments, the angle of the shelf, the material used to manufacture the shelf, and the design and corresponding mass of the door may be designed in tandem to ensure that no more than some specified percentage of packages will fail to actuate the doors 120 purely through their own mass. This design process allows the designer to optimize shelf performance in light of the constraints that apply to each of these variables. (For example, as the angle of the shelf becomes steeper, the force produced by a package to open the door becomes greater; but the volumetric efficiency of the shelf is reduced, and the shelf may become harder to load). This behavior may be modeled by the equations:
with
Additionally, or alternatively, one or more of the shelves 130 may be relatively parallel to the surface on which the frame 110 is supported. For example, the storage system 100 may be used in dispensing objects directly to individuals who reach into the storage system 100 to remove/retrieve the objects. Accordingly, the configuration of the shelves 130 does not necessarily need to be angled for the individuals to reach into the storage system 100 and/or remove/retrieve the objects from the storage system 100.
Additionally, the shelves 130 may include openings located on an opposite side of the frame 170 from where the doors 120 are located (also referred to as object inlet side). Such a configuration allows for objects (e.g., parcels or packages) to be loaded onto the shelves 130 via the openings and securely stored in the storage system 100 by the doors 120. Further, the angling of the shelves 130 may facilitate the stacking of objects during loading and storage.
In particular embodiments, the openings on the object inlet side may be protected with locking doors. These doors may all be of a single width, or of different widths. In some embodiments, these doors are provided in widths that are a whole number multiple of the width of a single door 120 on the dispensing side. Additionally, in some embodiments, these doors may be selectively locked and/or unlocked based at least in part on input from a controller (such as a load controller 740, in
Additionally, or alternatively, one or more of the shelves 130 may include a series of rollers (e.g., rotatable wheels, rails, and/or the like). The rollers may be oriented on a corresponding shelf 130 such that an object supported on the shelf 130 is rolled in the direction of the doors 120, which restrict dispensing the objects when closed. These rollers may be actuated or purely passive in design. In some embodiments, the series of rollers may allow for the shelves 130 to be at a shallower angle relative to a supporting surface while still providing a mechanism for dispensing objects from the storage system 100 using gravity. In other embodiments, the series of rollers may simply allow for an individual to more easily remove and/or retrieve an object from the storage system 100.
Additionally, or alternatively, the frame 110 may include one or more pushing mechanisms coupled to each shelf 130. For example, each of the pushing mechanisms may comprise a pushing structure that is attached to at least one actuator operable to extend and retract the pushing structure to facilitate shifting and/or dispensing of objects when the doors 120 are opened. In some embodiments, the pushing mechanisms may facilitate dispensing objects from the storage system 100 in instances where one or more of the shelves 130 are relatively parallel to the surface on which the frame 110 of the storage system 100 is supported.
In
In various embodiments, the controlled operation of the associated release mechanisms can allow the doors 120 to be opened individually and in different combinations (e.g., in unison) based at least in part on one or more dimensions of a corresponding storage compartment that is defined by the dividers 140. In some embodiments, the release mechanisms attached to the doors 120 can also be controlled by a shelf controller to open the doors 120 and/or to allow for doors 120 to be open. For example, as discussed further herein, the shelf controller may send a signal to the release mechanisms attached to the doors 120 to open the doors 120 and/or to allow the doors 120 to be opened.
An example of a release mechanism that may be used is a latching mechanism based at least in part on a solenoid. When a given solenoid is actuated, a latching mechanism connected to that solenoid is released, and a door 120 secured by that latching mechanism is then free to open. Accordingly, the door 120 can be pushed open, for example, by either the weight of the object behind that door or by some other source of actuation such as rollers or pushers driving the object, an actuator operating directly on the door, and/or the like.
Shown in
The doors 120 may have different configurations in different embodiments. For example, a door 120 may be pivotally coupled to the housing of the storage system 100 through the integration of one or more hinges to pivot outward and/or inward. In another example, a door 120 may be coupled to the housing through the integration of a track so that the door 120 can slid. In another example, a door 120 may be coupled to the housing through the integration of a roller-door mechanism so that the door 120 can roll. In another example, a door 120 may comprise rigid material sections joined together to form a sheet that is rigid in two directions, but flexible in another direction, thereby allowing the door 120 to roll up and down to facilitate the open and closed positions. In another example, a door 120 may comprise an iris-style mechanism that includes rigid panels, flexible materials, or other elements that enable the door 120 to transition between a closed position and an open position.
Accordingly, the dividers 140 may define distinct storage compartments 310, 320, 330 that vary in size (e.g., width) to accommodate objects 360, 380 of different sizes (e.g., parcels or packages of different sizes) to be stored in the distinct storage compartments 310, 320, 330. In addition, the dividers 140 may be aligned along the shelf 130 so that they are positioned on the shelf 130 in between doors 120. The storage system 100 may then allow the stored objects 360, 380 to be dispensed by opening a corresponding series of doors 120 that are associated with the dimensions of the storage compartment 310, 320, 330. For example, the storage system 100 may facilitate opening a series of doors 120 that corresponds to one or more dimensions (e.g., a width) of the storage compartment 310, 320, 330 to dispense the object 360, 380 stored therein.
For example,
Therefore, use of the dividers 140 in defining distinct storage compartments 310, 320, 330 of various sizes, along with the selectively operable doors 120 in various embodiments may allow for the storage system 100 to accommodate a higher density of objects 360, 380, as well as a greater diversity of objects 360, 380 (e.g., in terms of dimensions and shapes). Thus, various embodiments of the storage system 100 may increase the efficiency, capacity, and throughput of an object-handling operation, among other benefits.
As an object 410 is loaded onto the shelf 130, the object 410 is placed on top of and/or in between one or more of the spring-down dividers 400A, 400D. As shown in
In particular embodiments, the spring-down divider 400B, as shown in
In other embodiments, the spring-down divider 400E, as shown in
Therefore, in various embodiments, the spring-down dividers 400A, 400B, 400C, 400D, 400E may enable loading objects onto a shelf 130 of the storage system 100 without the need for (manually) positioning the dividers along the shelf 130 to define the different storage compartments for the shelf 130. As a result, the spring-down dividers 400A, 400B, 400C, 400D, 400E may facilitate increased speed at which objects can be loaded onto the shelf 130. In addition, the spring-down dividers 400A, 400B, 400C, 400D, 400E may also enable external sensing systems to detect the state of a given spring-down divider 400A, 400B, 400C, 400D, 400E which can allow for the shelf controller to infer what locations along the shelf are occupied by an object or not. For example, a Hall effect sensor may be used to detect a magnet embedded in the body of the spring-down divider 400A, 400B, 400C, 400D, 400E.
Turning to
For example, in
In some embodiments, the storage system 100 is configured so that a series of doors that operates in conjunction with a storage compartment is automatically assigned based at least in part on the placement of the dividers 140 that define the storage compartment. For example, the dividers 140 may be placed along the shelf 130 to create the first storage compartment 512, which corresponds to a width of a pair of doors 120 as shown in
Looking at
Turning to
In particular embodiments, the plurality of storage systems 100 is coupled to a repositioning system integrated into the mobile transport 600 that can be operated to reposition each of the storage systems 100 to different locations in the mobile transport 600. For example, the repositioning system may involve actuated tracks on which each of the storage systems 100 sit and can be driven side-by-side to open space for the doors 120 of each of the storage systems 100 over the first conveyor mechanism 610 to allow the doors 120 to dispense objects onto the first conveyor mechanism 610. Once dispensed, the first conveyor mechanism 610 carries the objects down to the second conveyor mechanism 620, and the second conveyor mechanism 620 carries the objects to the mobile robotic platform 630.
This ability to reposition each of the plurality of storage systems 100 relative to the first conveyor mechanism 610 allows for objects (e.g., parcels or packages) stored in different parts of the plurality of storage systems 100 to be dispensed onto the first conveyor mechanism 610, and subsequently to the second conveyor mechanism 620, for transport to the mobile robotic platform 530. For example, the repositioning system can shift one or more of the plurality of storage systems 100 to one side, allowing a remaining storage system 100 to have the ability to position its doors 120 to dispense objects onto the first conveyor mechanism 610. This ability to reposition the storage systems 100 to different locations internally may increase space efficiency and adaptability within the mobile transport 600.
This same repositioning system may also be used to provide access to the backs of storage systems 100 for the purpose of loading objects into the storage systems. For instance, during the preload process that takes place in a logistics facility, or during a field preload when the storage systems are recharged with additional volume.
Depending on the embodiment, the storage systems 100 described herein may be enclosed within a mobile transport 600 (e.g., a vehicle, an airplane, etc.), or may be enclosed within a stationary enclosure (e.g., a drop box, facility, etc.). For example, a storage system 100 can be placed at an access point inside or outside of a building in which the storage system 100 is loaded with objects that are then dispensed to individuals who visit the storage system 100 to retrieve the objects from the storage system 100. In particular embodiments, the storage system 100 may be configured so that each side of the storage system 100 is enclosed to ensure the security of the objects while stored in the storage system 100. For example, the storage system 100 may be configured with a door covering the rear (e.g., object inlet side) of the storage system 100 that is secured (e.g., locked) by individuals who are tasked with loading objects into the storage system 100. Similarly, the storage system 100 may be configured with one or more wall coverings on the sides of the storage system 100 to prevent access to the shelves 130 of the storage system 100.
An individual may visit the storage system 100 and provide some type of identification for an object that is being stored in the storage system 100. For example, the storage system 100 may be equipped with some type of input mechanism such as a keypad, barcode scanner, optical scanner, and/or the like through which the individual provides the identification for the object. In turn, the storage system 100 in various embodiments may then actuate a series of doors for the storage system 100 corresponding to a storage compartment storing the object to dispense the object to the individual.
In another example, a storage system 100 may be used in an environment in which there may be a concern with the security of stored objects with respect to loading other objects into the storage system 100. For example, the storage system 100 may be used in an environment in which multiple parties who are independent of each other may be using the storage system 100 for storing and dispensing objects. Therefore, these separate parties may be concerned with the other parties having access to their objects that are loaded in the storage system 100 when these other partiers are loading their objects into the storage system 100.
Accordingly, the storage system 100 may be configured in some embodiments to have differently sized, externally accessible locking doors on the rear of the storage system 100 (e.g., on the object inlet side of the storage system 100) to allow for secure loading of objects into the storage system 100). For example, the storage system 100 may be configured with different sized doors on the rear of the storage system 100 on different shelves 130 to accommodate different sized storage compartments on the shelves 130. As a specific example, the storage system 100 may be configured to have doors on the rear of the storage system 100 for a first shelf 130 in which the doors are the size of a series of doors that includes a single front door 120, a second shelf 130 in which the doors are the size of a series of doors that includes two front doors 120, a third shelf 130 in which the doors are the size of a series of doors that includes three front doors 120, and so forth.
Dividers 140 may be pre-installed to define storage compartments on each of the shelves 130 according to the different sizes of the doors on the rear of the storage system 100. In this way, the storage system 100 can accommodate different sized storage compartments that can be loaded by a particular party, while preventing access to other storage compartments that may be storing objects for other parties. With that said, the storage system 100 may be configured so that the sizes of the doors on the rear of the storage system 100 can be adjusted for the different shelves 130 to accommodate different sized storage compartments to account for changes in object volume, uses by the different parties, and/or the like.
In some embodiments, a particular party may be given access (e.g., assigned) to particular doors on the rear of the storage system 100 in which to store and dispense objects, along with mechanisms (e.g., keys, access codes, etc.) needed to access the particular doors. This way, the particular party can only access its assigned doors to store objects in the storage system 100 but cannot access the doors assigned to other parties.
Additionally, or alternatively, a third party may provide information on an object the party would like to store in the storage system 100, and the storage system 100 may then subsequently provide access to a particular door on the rear of the storage system 100. For example, the storage system 100 may provide some type of mechanism such as a keypad, barcode scanner, optical scanner, and/or the like that a party (e.g., individual thereof) can use in providing information on an object to be stored in the storage system 100. As a specific example, the storage system 100 may provide an optical scanner that the party can use to scan a quick response (QR) code providing the dimensions of the object. In turn, the storage system 100 may use the dimensions in identifying a storage compartment that is available and can store the object, and then opening the door on the rear of the storage system 100 for the identified storage compartment.
Turning to
The control system architecture 700 may further include a load controller 740. Like the system controller 710, the load controller 740 may be installed as part of the storage system 100 or within the environment in which the storage system 100 operates. In various embodiments, the load controller 740 assists in loading objects into the storage system 100 by providing aspects that allow for the storage system 100 to recognize the objects being loaded into the storage system 100. In some embodiments, the storage system 100 may provide some type of mechanism such as a keypad, barcode scanner, optical scanner, and/or the like to allow an individual to identify an object that is being loaded into the storage system 100. For example, the object may have a shipping label with a barcode that the individual can scan using the barcode scanner. In turn, the load controller 740 may receive identifying data for the object via the mechanism. In particular embodiments, the load controller 740 may be configured to operate the mechanism.
In other embodiments, the load controller 740 may be in communication (e.g., interface), via the system controller 710, with some type of production system 770 over a network 720 such as a local area network (LAN), an intranet, an extranet, the Internet, and/or the like. For example, the storage system 100 may be used within a logistics network to store, transfer, and dispense parcels to customers of a logistics organization. The production system 770 may be a part of the logistics network that is used in tracking parcels for the logistics organization. Here, the production system 770 may communicate with the system controller 710, and the load controller 740, over the network 720 and provide identifying data for an object that is being loaded into the storage system 100.
In other embodiments, an individual may be provided with another tool such as a mobile application through which the individual can enter identifying data for an object being loaded into the storage system 100. The mobile application may then communicate the identifying data to the load controller 740. For example, the mobile application may communicate the identifying data over a network 720 to the system controller 710, and the load controller 740, via the production system 770. Additionally, or alternatively, the mobile application may provide a scannable code, such as a QR code, that the individual scans via a mechanism provided by the storage system 100 to enter the identifying data.
The control system architecture 700 may further include one or more shelf controllers 730. For example, a shelf controller 730 may be provided for each shelf 130 found in the storage system 100. Again, the shelf controller(s) 730 may be installed as part of the storage system 100 or within the environment in which the storage system 100 operates. In various embodiments, the shelf controller(s) 730 assist in loading objects into the storage system 100 by identifying storage locations of the objects within the storage system 100; detecting the state of shelf components, such as dividers and doors; and dispensing or allowing for loading of objects by actuating doors, as described herein.
In particular embodiments, the space provided on a shelf 130 may be partitioned into cells. For example, the space provided on a shelf 130 may be partitioned into cells that align with the doors 120 used for dispensing objects stored on the shelf 130. Accordingly, the shelf controller 730 for the shelf 130 may recognize each of the cells via an identifier assigned to the cell (e.g., a cell identifier). Additionally, or alternatively, the shelf controller 730 may recognize the borders of each cell via an identifier assigned to each border (e.g., a border identifier). A border for a cell is understood to be the space, edge, and/or the like between the cell and an adjacent cell. Therefore, each cell is generally understood to have two borders.
In some embodiments, the shelf 130 may be configured with some type of sensor such as a Hall effect sensor; a physical switch, such as a reed switch; a force or pressure sensor, such as a force-sensitive resistor; an optical sensor, such as a photoeye; or other similar sensors that will be familiar to one skilled in the art to detect an object being placed on the shelf 130. For example, the shelf 130 may be configured with one or more sensors that are associated with each cell of the shelf 130. Therefore, when an object is placed on the shelf 130, the shelf controller 730 may receive signals from the sensors corresponding to the cells where the object has been placed and as a result, may recognize where (e.g., a position) on the shelf 130 that the object has been placed.
Additionally, or alternatively, the shelf 130 may be configured with one or more sensors to detect the placement of dividers 140 on the shelf 130. For example, the dividers 140 may be positioned along the shelf 130 so that a divider 140 is generally aligned with a border of a cell, and consequently an edge of a corresponding door 120. Here, one or more sensors may be associated with each border of the cell. Therefore, when dividers 140 are positioned along the shelf 130 at borders of one or more cells to define a storage compartment for storing an object, the shelf controller 730 may receive signals from the sensors corresponding to the borders where the dividers 140 have been placed and as a result, may recognize where (e.g., a position) on the shelf 130 that the object has been (or is to be) placed.
In embodiments in which spring-down dividers are used, one or more sensors may be associated with each spring-down divider. Here, when an object is placed on the shelf 130, the shelf controller 730 may receive signals from the sensors associated with those spring-down dividers that have been compressed by the object to essentially lay flat against the shelf 130. As a result, the shelf controller 730 may recognize where (e.g., a position) on the shelf 130 that the object has been placed.
The shelf controller 730 for a shelf 130 may use signals received from sensors associated with cells, borders of cells, dividers, and/or any combination thereof in identifying where (e.g., a position) an object has been placed on the shelf 130. In addition, the shelf controller 730 may generate location data for the object identifying where the object has been placed on the shelf 130. For example, the shelf controller 730 may generate location data identify the shelf (e.g., a shelf identifier), as well as the cells (e.g., cell identifiers) associated with the location on the shelf 130 where the object has been placed. Additionally, or alternatively, the shelf controller 730 may generate location data identifying the borders of cells (e.g., border identifiers) where the dividers 140 are located defining the storage compartment used for storing the object on the shelf 130.
Further, in some embodiments, the shelf controller 730 may provide an indication that is visible on the rear (e.g., the object inlet side) of the storage system 100 of the location where the object is stored on shelf 130. For example, the storage system 100 may be configured to have an indicator, such as a lighting element, provided on the rear of the storage system 100 for each cell of a shelf 130. Here, the shelf controller 730 may cause the lighting elements associated with the cells of the shelf 130 where the object is stored to illuminate to indicate where on the shelf 130 the object has been placed. Such a feature may be helpful in instances where the storage system 100 includes doors on the rear of the storage system 100 and an individual cannot readily look at the interior of the shelf 130 to determine what space on the shelf 130 is already occupied with (e.g., storing) objects.
In some instances, the indicators may be displayed with a certain configuration to indicate whether the associated cells (e.g., shelf space thereof) are or are not currently occupied with an object. For example, the lighting elements may be configured to illuminate a first color (e.g., green) when the associated cells are not currently occupied with an object. The shelf controller 730 may then cause the cells to illuminate a second, different color (e.g., red) once the associated cells become occupied with an object. Such a configuration may allow for an individual who is loading objects into the storage system 100 to more quickly identify where space is available on a shelf 130 to store an object.
In various embodiments, the load controller 740 and shelf controller 730 provide the identifying data and location data for the object stored in the storage system 100 to the system controller 710. In turn, the system controller 710 may combine the identifying data and the location data into, for example, object data, and store the object data locally. For example, the system controller 710 may include non-volatile memory in which the system controller 710 stores the object data. Additionally, or alternatively, the storage system 100 may be associated with some type of storage medium that may be installed as part of the storage system 100 or within the environment in which the storage system 100 operates. Here, the system controller 710 may store the object data in the storage medium.
Additionally, or alternatively, the system controller 710 may communicate the object data over a network 720 to a remote system such as a production system 770. In some embodiments, the system controller 710 may communicate the object data to the production system 770 for the purpose of having the production system 770 store the object data. In some embodiments, the system controller 710 may communicate the object data to the production system 770 for the additional or alternative purpose of having the production system 770 process the object data in performing tasks associated with the object data.
For example, the production system 770 may generate a communication (e.g., email, text message, etc.) that is sent to an individual informing him or her that the object is available through the storage system 100. In addition, the production system 770 may include information in the communication that can be used in retrieving the object from the storage system 100. For example, the production system 770 may include a code that the individual can enter or scan into a keypad or scanner to have the storage system 100 dispense the object.
The control system architecture 700 may further include a dispense controller 750. Like the other controllers, the dispense controller 750 may be installed as part of the storage system 100 or within the environment in which the storage system 100 operates. In various embodiments, the dispense controller 750 assists in dispensing objects from the storage system 100.
When an object is to be dispensed from the storage system 100, the dispense controller 750 in particular embodiments receives identifying data for the object. In some embodiments, the storage system 100 may include some type of mechanism such as a keypad, barcode scanner, optical scanner, and/or the like to allow an individual to enter the identifying data for the object that the individual would like to retrieve from the storage system 100. For example, the individual may enter a numeric code associated with the object into the keypad or may scan a QR code associated with the object using the optical scanner.
In other embodiments, the dispense controller 750 and/or the system controller 710 may receive the identifying data for the object over a network 720 from a remote system such as a production system 770. For example, the production system 770 may be a part of a logistics network for a package carrier. The package carrier may be using the storage system 100 for storing, transporting, and dispensing packages for delivery to final destinations. Here, the storage system 100 may be operating in an autonomous fashion in dispensing objects based at least in part on instructions received from the production system 770. Therefore, the production system 770 may communicate over the network 720 with the dispense controller 750 and/or the system controller 710 to provide the identifying data for the object to dispense from the storage system 100.
In other embodiments, the dispense controller 750 may receive the identifying data for the object from another source such as, for example, a mobile robotic platform 630. Again, the storage system 100 may be operating in an autonomous fashion in dispensing objects based at least in part on instructions received from the mobile robotic platform 630. Therefore, the mobile robotic platform 630 may communicate with the dispense controller 750 over a network 720 to provide the identifying data for the object.
The dispense controller 750 may forward the identifying data for the object to the system controller 710. In turn, the system controller 710 may use the identifying data for the object in identifying the location where the object is stored in the storage system 100. For example, the system controller 710 may use the identifying data in retrieving the object data for the object. The system controller 710 may then use the object data in identifying the shelf 130 (e.g., shelf identifier) on which the object is stored, as well as the cells of the shelf 130 (e.g., cell identifiers and/or border identifiers) on which the object is located.
The system controller 710 may then send a command (e.g., one or more signals) to the shelf controller 730 for the shelf 130 where the object is stored. The command may identify the cells (e.g., cell identifiers and/or border identifiers) where the object is located (e.g., positioned). Upon receiving the command, the shelf controller 730 may have the series of doors corresponding to the cells of the shelf 130 where the object is located open so that the object can be dispensed from the storage system 100. For example, the shelf controller 730 may actuate the release mechanisms for each of the doors so that the doors open and/or can be opened to dispense the object.
The control system architecture 700 may further include a human-machine interface 760 configured to allow individuals to interact (e.g., configure, monitor, view data, etc.) with the various controllers, sensors, memory, and/or the like that make up the control system architecture 700. For example, the human-machine interface 760 may allow for an individual to setup network credentials for the system controller 710 to interface with a production system 770, set sensitivity configurations for one or more sensors, view object data on various objects currently stored by the storage system 100, and/or the like.
Certain aspects of the control system architecture 700 may take the form of hardware or software or a combination of hardware and software. For example, certain aspects of the control system architecture 700 may take the form of a computer program that includes computer-executable instructions embodied on one or more non-transitory computer-readable media. Additionally, or alternatively, certain aspects of the control system architecture 700 may take the form of a hard-coded implementation into the mechanical design of computing components and/or may be built into embodiments of computing hardware as described herein.
Computer-executable instructions embodied on one or more non-transitory computer-readable media may include applications, programs, program modules, scripts, source code, program code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like (also referred to herein as executable instructions, instructions for execution, computer program products, program code, and/or similar terms used herein interchangeably). Such non-transitory computer-readable media include all computer-readable media (including volatile and non-volatile media). However, computer-executable instructions are not embodied on transitory computer-readable media.
For example, a non-volatile computer-readable medium may include a floppy disk, flexible disk, hard disk, solid-state storage (SSS) (e.g., a solid-state drive (SSD), solid state card (SSC), solid state module (SSM)), enterprise flash drive, magnetic tape, or any other non-transitory magnetic medium, and/or the like. A non-volatile computer-readable medium may also include a punch card, paper tape, optical mark sheet (or any other physical medium with patterns of holes or other optically recognizable indicia), compact disc read only memory (CD-ROM), compact disc-rewritable (CD-RW), digital versatile disc (DVD), Blu-ray disc (BD), any other non-transitory optical medium, and/or the like. Such a non-volatile computer-readable storage medium may also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., Serial, NAND, NOR, and/or the like), multimedia memory cards (MMC), secure digital (SD) memory cards, SmartMedia cards, CompactFlash (CF) cards, Memory Sticks, and/or the like. Further, a non-volatile computer-readable medium may also include conductive-bridging random access memory (CBRAM), phase-change random access memory (PRAM), ferroelectric random-access memory (FeRAM), non-volatile random-access memory (NVRAM), magnetoresistive random-access memory (MRAM), resistive random-access memory (RRAM), Silicon-Oxide-Nitride-Oxide-Silicon memory (SONOS), floating junction gate random access memory (FJG RAM), Millipede memory, racetrack memory, and/or the like.
A volatile computer-readable medium may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data-out dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type two synchronous dynamic random access memory (DDR2 SDRAM), double data rate type three synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), Twin Transistor RAM (TTRAM), Thyristor RAM (T-RAM), Zero-capacitor (Z-RAM), Rambus in-line memory module (RIMM), dual in-line memory module (DIMM), single in-line memory module (SIMM), video random access memory (VRAM), cache memory (including various levels), flash memory, register memory, and/or the like. It will be appreciated that where various embodiments are described to use a computer-readable storage medium, other types of computer-readable storage media may be substituted for or used in addition to the computer-readable storage media described above.
Turning to
The memory 2 may take the form of the memory components described herein. Thus, further elaboration will not be provided here, but the memory 2 may include any type of tangible medium that is capable of storing data (e.g., information). In addition, the memory 2 may include a data structure such as a database that stores a collection of records, data, and/or other information associated with storing and dispensing objects from a storage system 100 as described herein. In addition, the memory 2 may store a set of computer-executable instructions that, when executed, perform different functions or operations described herein. The computer-executable instructions may be referred to as “instructions,” a “module,” and/or an “application” for short. The processor(s) 3 may be one or more processors that receive instructions and process them accordingly. The presentation component 4 may include a display, a speaker, a screen, a portable digital device, and/or other components that can present information through visual, auditory, and/or other tactile cues (e.g., a display, a screen, a lamp, a light-emitting diode (LED), a graphical user interface (GUI), and/or a lighted keyboard).
The radio 5 may support communications over one or more networks 720 and may additionally or alternatively support or facilitate different types of wireless communications, such as Wi-Fi, WiMAX, LTE, Bluetooth, and/or VOIP communications, among other communication protocols. In various aspects, the radio 5 may be configured to support multiple technologies, and/or multiple radios may be configured and utilized to support multiple technologies.
The input/output (I/O) ports 6 may take a variety of forms. Example I/O ports may include a USB jack, a stereo jack, an infrared port, and/or other proprietary communication ports. The input/output (I/O) components 7 may comprise one or more keyboards, microphones, speakers, touchscreens, and/or any other item useable to directly or indirectly input data into the computing hardware 800. The power supply 8 may include electrical sources, batteries, generators, fuel cells, and/or other components that may act as a power source to supply power to the computing hardware 800 and/or to other components described herein.
Turning now to
As previously discussed, an individual may wish to load an object into the storage system 100. Here, the storage system 100 may provide the individual with some type of mechanism to facilitate the individual providing the identifying data for the object to be loaded. For example, the storage system 100 may provide a barcode scanner that the individual uses to scan a barcode associated with the object (e.g., a barcode displayed on a label attached to the object) to provide the identifying data for the object. The barcode scanner may be in communication with a load controller 740 that sends the identifying data to the system controller 710.
Therefore, the process 900 involves the loading module receiving the identifying data for the object in Operation 910. The identifying data may include different forms of data to identify the object. For example, the identifying data may include a unique object identifier for the object in the form of a unique shipping number printed on a shipping label attached to the object. In another example, the identifying data may be a unique object identifier for the object in the form of a unique serial number printed on the object during the manufacturing of the object.
In Operation 920, the loading module confirms the object is to be stored in the storage system. For example, the object may involve a parcel being shipped through a shipping carrier to a delivery destination. Here, the loading module may send a communication having at least a portion of the identifying data to a production system 770 for the shipping carrier to confirm that the parcel is to be stored in the storage system 100 as part of the shipping route to be used in shipping the parcel to the delivery destination. In turn, the production system 770 may return a communication confirming that the parcel is to be stored in the storage system 100 as part of the shipping route to the delivery destination. In addition, the production system 770 may provide additional information along with the confirmation such as, for example, the delivery destination, who is authorized to take delivery of the parcel, and/or the like.
In another example, the object may involve medical supplies that are needed for a particular department in a hospital. Here, the storage system 100 may be located on a certain floor of the hospital and is used to dispense medical supplies that are needed on the floor. Therefore, the loading module may send a communication having at least a portion of the identifying data to a production system 770 (e.g., inventory system) for the hospital to confirm that the particular department operates on the certain floor use the medical supplies that are to be loaded into the storage system 100. In turn, the production system 770 may return a communication confirming that the medical supplies are being loaded into the correct storage system 100.
In some embodiments, the loading module may provide the individual who is loading the object with some type of indication as to whether the object has been confirmed or not for loading into the storage system 100. For example, the loading module may cause the mechanism used by the individual in providing the identifying data for the object to display a certain signal (e.g., illumination of a green light or a red light) and/or produce a certain sound (e.g., sounding of a positive “bing” or a negative “buzz”) to indicate whether the object has been confirmed to be loaded into the storage system 100.
Additionally, or alternatively, the loading module may facilitate having a door on the rear of the storage system 100 opened upon confirming the object is to be loaded into the storage system 100, so that the individual will have access to the storage system 100 to load the object. The loading module may identify which door to open by determining where space is available in the storage system 100 to store the object. For example, the identifying data for the object may also include dimensions of the object. The loading module may use the dimensions in identifying a space that is available in the storage system 100 and is an appropriate size for storing the object. The loading module may then facilitate having the door opened for the identified space.
If the object is confirmed for loading into the storage system 100, the individual may then proceed with loading the object onto a shelf 130 of the storage system 100. In doing so, the individual may place the object onto the shelf 130 at a certain position on the shelf 130 that is available. In addition, the individual may position one or more dividers 140 to define a storage compartment to store the object. As a result, a shelf controller 730 for the shelf 130 may receive one or more signals from sensors indicating where on the shelf 130 the object has been placed. For example, the shelf controller 730 may receive one or more cell identifiers and/or border identifiers corresponding to the cells of the shelf 130 where the object has been placed. The shelf controller 730 may then send the location data comprising, for example, a shelf identifier for the shelf 130 and the cell identifiers and/or border identifiers to the system controller 710.
As a result, the loading module receives the location data identifying where the object has been loaded into the storage system 100 in Operation 930. In particular embodiments, the loading module combines the identifying data and location data for the object to generate object data and stores the object data in Operation 940. For example, the loading module may store the object data locally so that the object data is readily available to the system controller 710. Additionally, or alternatively, the loading module may communicate the object data (or portion thereof) to the production system 770. For example, as previously discussed, the loading module may communicate the object data to the production system 770 so that the production system 770 can store the object data and/or perform one or more tasks based at least in part on the object data.
Turning now to
A dispense controller 750 or the storage system 100 may receive identifying data from one of various sources for an object that is currently stored in the storage system 100 and is requesting to be dispensed from the storage system 100. For example, the dispense controller 750 may receive the identifying data for the object via an individual using a mechanism associated with the storage system 100 such as a keypad, barcode scanner, optical scanner, and/or the like to enter the identifying data. In another example, the dispense controller 750 may receive the identifying data for the object via a production system 770, a mobile application, or via a mobile robotic platform 530 that communicates the identifying data over a network 720 to the dispense controller 750.
Accordingly, the dispense controller 750 sends the identifying data for the object to the system controller 710, and the system controller 710 makes the identifying data available to the dispensing module. Therefore, the process 1000 involves the dispensing module receiving the identifying data for the object in Operation 1010.
In Operation 1020, the dispensing module identifies the location where the object is stored in the storage system 100. In some embodiments, the storage system 100 may store the object data for the various objects locally. For example, the storage system 100 may store the object data in non-volatile memory that is a part of the storage system 100 or in some type of storage media that may be found within the environment in which the storage system 100 operations. Therefore, the dispensing module may query the object data for the object that is stored locally based at least in part on the identifying data for the object.
In other embodiments, the storage system 100 may store the object data for the various objects remotely. For example, the storage system 100 may store the object data via a production system 770 that is remote from the environment in which the storage system 100 operates. Here, the dispensing module may send a communication to the production system 770 that includes at least a portion of the identifying data for the object and requesting the object data (or portion thereof) for the object. In turn, the production system 770 returns the object data in a second communication to the dispensing module.
As previously discussed, the object data for the object may comprise location data, and the location data may include a shelf identifier of a particular shelf 130 on which the object is stored. In addition, the location data may include one or more cell identifiers and/or border identifiers that correspond to one or more cells of the particular shelf 130. Therefore, in Operation 1030, the dispensing module sends a command (e.g., one or more signals) to the shelf controller 730 for the particular shelf 130 requesting the shelf controller 730 to open the series of doors corresponding to the one or more cells so that the object can be dispensed. Accordingly, the shelf controller 730 receives the command and as result, sends one or more signals to the release mechanisms associated with the doors 120 found in the series of doors to open so that the object is dispensed from the storage system 100.
In some embodiments, this disclosure may include the language, for example, “at least one [element A] or [element B].” This language may refer to one or more of the elements. For example, “at least one of A or B” may refer to “A,” “B,” or “A and B.” In other words, “at least one of A or B” may refer to “at least one of A and at least one of B,” “at least A or B,” or “A and B.” In some embodiments, this disclosure may include the language, for example “[element A], [element B], and/or [element C].” This language may refer to either of the element or any combination thereof. In other words, “A, B, and/or C” may refer to “A,” “B,” “C,” “A and B,” “A and C,” “B and C,” or “A, B, and C.”
The subject matter of this disclosure has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present subject matter pertains without departing from the scope hereof. Different combinations of elements, as well as use of elements not shown, are also possible and contemplated.
This application claims priority from U.S. Provisional Patent Application Ser. No. 63/516,049, filed Jul. 27, 2023, the disclosure of which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63516049 | Jul 2023 | US |