The present disclosure relates to a random-access robot-implemented inventory storage and dispensary system. Specifically, the present disclosure includes examples of technical enhancements to allow operational improvements of storage and retrieval operations in a designed robotic system.
Many forms of robotic systems are used for inventory management, storage, retrieval, and dispensing purposes. For example, specialized robotic systems are used in some warehouse or commercial settings to retrieve products from storage shelves and units. Also for example, robotic systems are used in a retail setting to allow consumers or employees to select and dispense products from a retail inventory of saleable goods. Although many types and formats of robotic dispensing systems have been proposed in retail and commercial settings, the deployment of such systems is often limited by cost, space constraints, reliability, and the failure of existing systems to properly handle a variety of product types and use conditions.
The present disclosure describes operational enhancements to a robotic inventory dispensary, such as a robotic system for maintaining product inventory and dispensing products upon request from a consumer. In a retail environment, a consumer might be a customer, a staff member, employee or contractor, another automated system, or another operator of the robotic inventory dispensary. As discussed herein, product items within the robotic inventory dispensary are stored in an inventory storage unit that is accessible by a robot, with at least one item per bin. Controller logic is used to operate the robot to allow product items to be stored in, and retrieved from, assigned storage locations of the inventory storage unit. Because contents of any storage location in the robotic inventory dispensary may be accessed by the robot directly at any time, the robotic inventory dispensary may operate in a random-access fashion.
As an example, random access operations performed by the robot with the robotic inventory dispensary may include, for example, coupling to (e.g., magnetically) and removing one or more bins from the inventory storage unit; removing a product item from a bin; placing a bin at a storage location in the inventory storage unit; transferring a bin from one location in the inventory storage unit to another location; transferring a product item from a bin to a dispensing apparatus (e.g., a dispensing chute, a conveyor, or an operator access device); transferring a bin from the operator access device into the inventory storage unit; and compressing a storage area within the inventory storage unit where bins are stored. The robotic inventory dispensary may perform these operations based on various logic and command specifications, including rules and conditions, mechanical constraints, and prioritization of operations. For example, a prioritization scheme may be used to govern the relative priority attached by the robot to the sequence of tasks that the robot is used to perform. The robotic inventory dispensary may perform these and other operations with the use of sensor-based conditions and processing, and as a result of multi-device user interface interactions, as discussed herein.
In the examples discussed herein, operation of the robot with product units involves repeated interaction with storage bins, which may be hung, suspended, or maintained within the inventory storage unit on rails arranged in a drawer-like fashion. The use and movement of these storage bins may lead to error conditions in the robotic inventory dispensary, due to human error or mechanical failure. For example, a storage bin that is filled incorrectly by a human user (e.g., with an oversized, overweight, or improper item) may cause a storage bin to become stuck or the product to become damaged. Likewise, human error, mechanical failure, or environmental conditions may lead to the movement and misaligning of storage bins that are stored in the inventory storage unit, resulting in issues when a storage bin is attempted to be accessed or retrieved. In the examples discussed herein, a variety of sensors are designed to interface with robot operations to detect abnormal and error conditions, and to allow adaptation where possible to continue retrieval, access, and storage operations.
Also in the examples discussed herein, operation of the robot may be controlled as a result of various user interface interactions, including interactions from remote computing devices such as smartphones and remote systems such as websites and inventory or retail management systems. Commands may be issued to the robotic inventory dispensary, for example, to perform a retrieval of an item previously purchased in another commerce channel through the use of a scanned QR code, device-to-device communication, or user identification of an associated purchase. Commands may also be issued to the robotic inventory dispensary to coordinate retail sales operations with a product showroom or point of sale systems, such as to reserve and retrieve a product from a storage location prior to a customer purchase in a retail store. Other commands may be issued to pre-fetch projected inventory, and to coordinate with retail sales operations of restricted (e.g., high-value, secure) products.
As used herein, a “user interface” (UI) refers to a human-controllable feature that allows a user to interact with a computer or processing system. A UI may contain a display, tactile controls, or peripheral devices (e.g., mouse, touch pad, joystick) to facilitate entering data and making selections. The processing system, under control of one or more computer processors, might provide a graphical UI (GUI) though the display. A GUI may or may not include touch controls. As discussed herein, the robotic inventory dispensary may feature or interface with multiple UIs that effect user control and operation of the dispensary.
As used herein, a “database” stores and organizes data in any number of file structures and tangible computer-accessible storage devices, in any format. A “database system” (and, indeed, a database) may be hierarchical, and include one or more databases, possibly of a variety of different contents, types, formats, and access means. For example, a database in a database system might be a relational database, an object-oriented database, a flat text file, or a collection of images or audio/video tracks. As discussed herein, the robotic inventory dispensary may feature or interface with multiple databases that produce data for control and operation of the dispensary.
As used herein, “logic” refers to hardware, and software instructions executing on that hardware, that executes instructions, makes decisions, and initiates actions. As discussed herein, the robotic inventory dispensary may feature or interface with multiple implementations of logic that define control and operation rules and conditions for the dispensary.
As used herein, a “robot” is an apparatus or system that performs physical tasks under control of a processing system or controller, which executes controller logic. Note that two robots, each with separate controllers, may be under common supervision or direction by a single controller. This combination of robots may be regarded as a single robot. Similarly, if robot A directs robot B, the combination of A and B may be regarded as itself a robot. In some instances, to emphasize that two or more robots might be involved, the term “robotic system” rather than “robot” may be used, although reference to a “robot” are not necessarily singular.
As used herein, a “scanning system” used with a robotic inventory system may include one or more scanners acting under a common control. Each scanner in the system may use a respective scanning technology, to scan specific types of objects, and obtain from those objects specific types of information. Between any two scanners in the system, the technologies used may be the same or different; the types of objects may be the same or different; and the types of information may be the same or different. A scanning system might or might not be integrated into a particular robot.
As used herein, a “product item” refers to an individual instance of a product model. A “product type” is a set of product items having something in common. The following are example product types: all product items of a given model or stock-keeping unit (SKU); all product items from a given manufacturer; all product items from a given supplier; all product items having a given functionality (e.g., video cameras): all product items of a given model having a particular color; all product items of a given variety (e.g., freeze-dried strawberries) and shelf-life or sell-by date; a set of individually-identified product items.
The robot 120 accesses storage cells of the storage unit 110, and bins (such as storage bin 114 or storage bin 116) that are suspended, hosted, hung, maintained, or otherwise located within the storage cells. The illustrated robot 120 includes an articulated arm 130. As illustrated, the arm 130 can swivel, tilt, and bend; a hand 136 of the arm can couple to, lift, and move bins (such as the storage bin 140, shown as being removed from the storage unit). The robot 120 may include a shelf 122 onto which it can slide out one, two, or more trays on either side of the arm 130 (e.g., into storage cell 121 or into storage cell 123) in order to insert, remove, rearrange, or compress bins into, from, and within a particular storage cell. The shelf 122 can move vertically along one or more posts 124 as indicated by arrows 158a, 158b; the robot 120 illustrated in
In an example, the arm 130 of the robot 120 has a base that can swivel as indicated by arrow 131. The arm 130 may provide a segment 132 from which a grabber, gripper, or the hand 136 is suspended. The hand 136 can grab, grip, attach, lift, and translate bins, and can open and close drawers provided by the trays. The robot 120 may include segments that can tilt relative to each other and also relative to the base. Thus, the arm 130 may swivel, bend, and tilt to give the hand 136, which can itself rotate as indicated by arrow 152, a wide range of positions and orientations. The segment 132 of the arm 130 may include a display screen 134 or other output device used to provide an indication of operation. The arm 130 may also include an extensible or telescopic segment (not shown), such as in the base, that allows it to move vertically. In the configuration of
In another example, the horizontal and vertical motion of the shelf 122 and arm 130 may be handled by a robot or other mechanical system that is separate from the robot 120 but that accesses storage cells and moves bins. However, such robots or mechanical systems may be under common control of the electronic control system 182, and so may be considered a single robot or robotic system.
As further shown in
Thus, the robotic inventory dispensary depicted in
Within the storage unit 208, product items may be stored in the bins 204, such as one product item per bin. A set of the bins 204 may be organized on a particular set of storage racks 228 in the storage unit 208, with the particular rack and configuration establishing respective storage cells in a plurality of storage cells 222 in the robotic inventory dispensary 200. A storage cell may be a frame structure, or it might have one or more solid sides. The robot 202 may operate a tray or drawer feature, which is movably positioned into a set of bins 204 maintained in a particular storage rack in a particular storage cell in a particular one of the storage columns 216, providing the robot 202 access to the contents of the bins 204. As depicted in
The storage unit 208 may include or be located proximate to a section (e.g., a column) of an empty bin storage unit 210 used to operate empty bins. The controller 206 commands one or more robots 202 as its agents to move bins 204 and product items throughout the robotic inventory dispensary 200 as needed to implement the tasks of the controller 206, including the maintenance of bins 204 once product items are removed.
An operator may manually add or remove product items in the robotic inventory dispensary 200 through an operator access system, such as an operator loading drawer 234 accessible at an operator station 246. Components of the operator access system may be controlled by an operator UI 240 such as to allow commands to cause replenishment, purge, and related loading or unloading operations. Access by the operator to product items may occur with an operator loading drawer 234, another access mechanism, a conveyor, or the like. The robotic inventory dispensary may include more than one operator loading drawer 234 to improve efficiency. During replenishment, for example, the robot 202 might be removing already filled bins 204 from a first operator loading drawer while the operator fills another set of bins 204 in another. The operator loading drawer 234 is one example of an operator-access device, and it will be understood that other types of devices may provide an operator with access to the bins 204 for manual or human-assisted tasks.
The controller 206 may further move the bins 204 to the operator loading drawer 234 for loading and unloading of particular product items. In the operator loading drawer 234, an operator (e.g., an employee) may be provided with access to the bins 204 to assist in replenishment/purge operations regarding product items in the robotic inventory dispensary 200. In an example configuration, when the operator loading drawer 234 is opened, it projects out from a side of the storage unit 208, giving access to the operator to insert bins 204 or product items, and to remove bins 204 or product items. When the operator loading drawer 234 is closed, it behaves as a storage cell of the storage unit 208, providing the robot 202 access to the operator loading drawer 234 and its contents. Other features may be implemented in place of the operator loading drawer 234, such as a conveyor, insertion slot, or other loading area. The operator station 246 may include an operator UI 240 whereby the operator can interact with the controller 206 by entering data and instructions, and by receiving information.
The controller 206, executing controller logic 212 (e.g., provided from software, firmware, and electronic control commands), manages equipment such as the robot 202 and accesses and maintains data necessary to carry out tasks of the robotic inventory dispensary 200. The data may be saved in, and accessed from, a database system 230. The controller 206 may also implement sensor condition logic 218 and error detection logic 224 used to process data from a variety of sensors used in the operation of the robot 202 and other components of the robotic inventory dispensary 200. For example, the sensors monitored by the sensor condition logic 218 may include a robot arm sensor 220 that is coupled to or integrated with a robot arm of the robot 202, or a robot tray sensor 226 which is coupled to or integrated with a tray feature of the robot 202. For example, the robot arm sensor 220 may be used to detect a condition and an error state of one or more storage bins 204 as a retrieval or storage operation is occurring; the robot tray sensor 226 may be used to detect a condition or an error state of a set of bins 204 in a particular cell of the storage cells 222 or upon the storage racks 228; the vision sensor 232 may be used to detect a condition and an error state of components of the robot 202, the bins 204, the storage columns 216, the storage cells 222, the storage racks 228, the operator loading drawer, 234, or like components of the robotic inventory dispensary 200.
The robotic inventory dispensary 200 can vary the implementation of controller logic 212, sensor condition logic 218, and error detection logic 224, such as to accomplish different types of goals or operating states. For example, a given system might be prioritized to keep all product items of a given model or product type in the same area of the storage unit 208. Another system might seek primarily to minimize empty space in the storage unit 208. Another system might be optimized to avoid retrieving, storing, or dispensing bins or products from such bins that are sensed to occur outside of normal operational parameters (and thus may fail to be properly stored, retrieved, or dispensed). Another system might be optimized to alert an operator of a sensed error condition or identified operational constraint, to allow manual correction of an improperly operating feature of the storage unit 208.
The controller 206 of the robotic inventory dispensary 200 may perform electronic operations based on the implementation of controller logic 212, sensor condition logic 218, and error detection logic 224 and the maintenance of data in the database system 230, to allow a single product item to be stored in, and removed from, multiple locations (e.g., any given location) within the storage unit 208. In other words, the robotic inventory dispensary 200 may operate as a random-access storage system. The robotic inventory dispensary 200 may use a product scanner 214, including one or more laser or optical scanners, to identify bins 204 and product items (including product items within the bins 204. The robotic inventory dispensary 200 may also use the vision sensor 232 (in addition to the robot arm sensor 220 and the robot tray sensor 226) to sense characteristics of the bins 204 and the product items, including identification and verification operations.
The operational priorities for the robotic inventory dispensary 200 may change over time due to empirical experience or changing circumstances or constraints. In a similar fashion, the sensor conditions and error conditions may also be adapted, such as to identify (and alert or ignore) particular sensed conditions. Such conditions may be displayed (and controlled) through the operator UI 240 or a consumer UI 238.
In an example, a prioritization scheme is used to allow product items of a given model to be removed on a first-in first-out (FIFO) basis. Other schemes, such as last-in first-out (LIFO), may also be used. In another example, a prioritization scheme might prioritize minimization of retrieval time, without regard to shelf life, such as having the robot 202 grab (i.e., couple to and lift) the product item closest to the current position of its hand. In still other examples, a prioritization scheme may be selected based on the operational status of the robot 202 or sensed conditions from operation of the robot 202 or the stage of the storage unit 208. For example, if it is detected that a product item in a particular set of bins 204 is misloaded or misaligned (such as through the use of sensors), the robot 202 may retrieve another instance of the product item from another location in the storage unit 208.
The robotic inventory dispensary 200 may include a consumer UI 238 in a consumer station 244, whereby a consumer may request a product item. A first consumer UI might dispense product items to customers; a second consumer UI might dispense product items to staff members. The robot 202 may transfer the product item to a delivery location in a dispensing system 248 such as a chute for dispensing it to a consumer at a consumer station 244. The robotic inventory dispensary 200 may also include a chute that dispenses product items into the operator station 246 for an operator.
In some examples, the consumer UI 238 might act as, in effect, a smart vending machine. The consumer UI 238 might include a Point-of-sale (POS) system 242, requiring payment before a product item is delivered to the consumer. Such a consumer UI 238 may receive or accept various forms of payment, such as cash, credit card, or smart phone account scanning. The consumer UI 238 may also be used to enter or access payment data. In another example, the product items might be first delivered to the consumer without up-front payment. The consumer might then take the items to a separate POS station for payment and checkout. This approach might be appropriate where a store's inventory is split between the robotic inventory dispensary 200 and more traditional retail display units or showrooms, such as shelves, racks, and counters. As further discussed with reference to
A tray or drawer feature of the robot may be extended into the storage cell by extension of the robot arm, causing access of (by lifting and moving) the respective sets of storage bins. In other examples, bearings or rollers (not shown) or other similar mechanisms may facilitate the removal and extension of a set of storage bins from the respective storage cell. The storage bins (bins 330A, 330B, 330D, 330E) may hang from two rails of a storage rack (racks 320A, 320B, 320D, 320E) by a lip structure, in a manner similar to well-known hanging file folders. Further, the storage bins (bins 330A, 330B, 330D, 330E) may have downward-extending pins that mate with holes in the rails, thereby ensuring proper alignment. The robot may use the pins to lift a bin, such as by magnetic attraction between the hand and the pins. The bins may have variable depths and/or heights. A bin may be empty (as shown with bins 330A, 330B), or may hold a product item (as shown with bins 330D, 330E).
As also shown, the product item 352A stored in the storage bin 330E and the storage cell 340E may be one instance of multiple instances of the same product item having a common SKU but different UPC codes. This may occur in a scenario where a “limited edition” or “enhanced” version of the product item is sold under the same item SKU. In some examples, the robot system may track such specialized versions of the product item, and allow a user to purchase a specific version of a product item as kept within the storage unit. Other variations to product tracking based on SKUs, UPCs, and individual product instance identifiers may also be tracked in the robotic inventory dispensary system.
For example, a sensor 412 mounted to the arm may detect whether the robot arm can successfully operate, and whether the plurality of storage bins 416 are accessible or in a condition for retrieval, storage, or manipulation. The sensor 412 also may be used to position the arm operation unit 404 for retrieval of the storage bin 414, or to guide the arm operation unit 404 or the robotic hands 406 such as to grab a particular location 408 of the storage bin 414. The sensor may be used to detect a state and condition of the product item. As another example, a sensor 410 mounted to the robot base 402 (or in like positions on the robot platform) may be positioned to capture a view of the plurality of storage bins 416 and identify error states and conditions (such as a set of product bins in need of compaction or moving).
The functions 600 may also include one or more functions for: bin retrieval sensing 615, such as to use sensor systems to assist the robot in identifying, accessing, and manipulating product bins and product items from the product bins, or to retrieve a product from a storage location; tray retrieval sensing 620, such as to use sensor systems to assist the robot in identifying product bin sets that are improperly loaded, misaligned, or inaccessible; bin condition detection 625, to establish logic conditions, rules, and results when certain environmental conditions (or internal properties) of the storage bins are detected, such as conditions that would prevent the robot from moving the storage bin; product condition detection 630 to establish logic conditions, rules, and results when certain environmental conditions (or internal properties) of the product item are detected, such as conditions that indicate damage to the product item or would result failure to properly dispense the product item.
The functions 600 may also include one or more functions for: robot speed control 635, such as to change the speed of movement of the robot, to prevent product damage, bin damage, or related operational failures in the robotic inventory dispensary; robot movement control 640, such as to change other movement characteristics of the robot to prevent product damage, bin damage, or to adjust storage or retrieval operations to increase operational efficiency and accuracy. The implementation of the robot speed control 635 and the robot movement control 640 may be based on product or storage bin characteristics (e.g., size, weight) that are stored in a database, detected with the sensors, indicated by a customer or operator, or the like.
In an example, the sensors used with the robotic inventory dispensary may include any number of electromechanical sensor detection functions 650 to detect environmental or object condition data. These may include: computer vision sensors for computer vision sensor detection 655; a temperature sensor for heat sensor detection 660; a tension sensor for tension condition detection 665; a static sensor for a static energy detection 670; a movement sensor for movement detection 675; a weight sensor for weight detection 680. Each of these sensors may correspond to conditions that interfere with proper operation of the robotic inventory dispensary (e.g., overweight product item from being stored or moved property; a misaligned bin being stored in the storage unit; excess movement by a product bin). Various conditions, errors, warnings, diagnostic messages, and like communications may be established to respond to such detected sensor data values.
In a further example, the sensor detector functions may be used to perform various verification and adjustment functions with the robot, such as to: determine whether one or more bins are loaded correctly, according to bin loading specifications; determine if a product is correctly placed in a storage bin type, based on dimension (height, width, depth) and weight specifications; determine whether bins are warped, malformed, or damaged; adjust a retrieval “grip” of the robot hand, including adjust the location of grip to match a location of the product gin; determine whether a product is incapable of being “dumped” or dispensed from a product bin, such as whether a product is stuck or compressed within a storage bin; determine whether the robot, a shelving unit, or a set of storage bins are off balance or misaligned.
Based on the sensor detection functions, remedial action may be taken where available, such as to recalibrate the system, or to take alternate action to prevent dispensing, storage, or retrieval failure. Likewise, actions to send a diagnostic message, perform additional diagnostics, disable a sensor, modify a control system setting, enact safety measures, or the like may be used in response to a detected failure event or the detection of certain sensor detection functions.
In an example, one or more of the electromechanical sensor detection functions 650 may be performed to verify human or manual activities with the robotic system, such as in response to a human operator loading a product into a storage bin and placing the storage bin in an operator loading drawer of the robotic inventory dispensary. The sensors (e.g., a computer vision sensor) may evaluate whether any product has been loaded into the storage bins incorrectly, and perform a test to verify that the dimensions of the respective products do not stick up above the height of a respective storage bin. If the verification does not occur (e.g., an error condition is detected), the robotic system may not allow the human operator to proceed with further loading of the bins (or moving onto the next step of robotic operations) until the error condition is corrected. The sensors may also evaluate other aspects of the storage bins during bin loading and like human or manual activities, such as the use of the computer vision sensor to detect warped bins, bins missing a barcode or an identifier sticker, broken bins, broken products, missing or dislodged products, and the like.
In a further example, the robot speed control 635 may be further based on one or more fragility or stability characteristics of the product item as determined from a product information database or from sensors (e.g., weight sensors) that evaluate the product item. For example, a product that is known to be fragile (e.g., including sensitive electronics, or including a glass screen) may be handled at a lower speed, or dispensed into an alternate delivery mechanism (e.g., not dumped into a chute). A product that is known to be fragile, heavy, or unstable may also transported at a lower speed than smaller, stabile items. Also for example, certain products associated with certain SKUs, UPCs, or other identifiers may be identified by the robot system as fragile, overweight, or sensitive products.
In still a further example, the robot speed control 635 may be further based on the type or classification of a product item, sensed environmental conditions (e.g., temperature), known issues with certain bins, bin types, and product types, or the product condition of a particular product item (e.g., if a damaged or an open-box item). Further, the robot speed control 635 may be based on usage or customer traffic patterns, such as in the scenario where the robot increases speed to operate faster during times of peak usage, or to decrease speed (and increase precision) during times of reduced usage.
Additionally, the robot speed control 635 may automatically reduce the speed of the robot when an error condition is detected or when certain operational parameters of the robot are outside of an expected range. Other similar variations to more effectively (and accurately) handle the product item, the storage bin, or a set of storage bins may also occur based on detected conditions in operation of the robotic system.
For example, during product item storage operations, the robotic inventory dispensary may receive and process a command to stock product items in a storage unit (operation 702), and perform sensor evaluation operations in response to this command. The sensor evaluation operations may include an evaluation of a set (e.g., drawer) of multiple bins in the operator access drawers, using sensor data captured from the sensors (operation 704). The sensor evaluation operations may further include an evaluation of respective bins and product items in the respective bins, using sensor data captured from the sensors (operation 706). Based on the sensed conditions, the robot is operated to store respective bins in the storage unit (operation 708). If the sensed conditions indicate an error, then the robot may be placed in an alternate mode, the storage operation may be aborted or changed, an operator may be alerted, or the like.
Also for example, during product item retrieval operations, the robotic inventory dispensary may receive and process a command to retrieve a specific product item in the storage unit (operation 710), and perform sensor evaluation operations in response to this command. The sensor evaluation operations may include an evaluation of a set of bins retrieved from a storage cell using the sensor (operation 712), such as to determine if any of the bins are misaligned, damaged, or inaccessible. The sensor evaluation operations may further include an evaluation of a selected bin from the set of bins, such as a selected bin that includes a particular product item (operation 714), to determine if the product item is accessible and dispensable from the storage bin. Based on the sensed conditions, the robot is operated to retrieve the product bin and dispense the product item (operation 716). If the sensed conditions indicate an error condition, then the robot may be placed in an alternate mode, the retrieval may be aborted or changed, an operator or consumer may be alerted, or the like.
As shown in
As also shown in
If the product item has been previously purchased, the robot 812 may operate to retrieve the product item 822 and dispense it to a location at or near the consumer station. If the product item has been reserved but not yet purchased, the robot 810 may operate to retrieve the product item 822 after payment is presented with the smartphone 870, with a payment device 868, or after other electronic payment has occurred. The operations of the robot 812 to retrieve the product item 822 may occur with use of the sensor conditions and processing logic as previously described, such as the use of the sensor 820 to verify the state of the product item 822, to assist the robotic arm 814 and robotic hand 816 in coupling 818 to a storage bin for the product item 822, and like robotic operations.
The operational functions 900 may include identifying a mobile application order 910. For example, a kiosk of the robotic inventory dispensing system may receive user identifying information (through automatic communication or manual input) to indicate that an item was previously purchased, reserved, or selected by the consumer in an application running on the consumer's mobile device, such as a smartphone app. The mobile application may provide (e.g., transmit, display) information to the kiosk of the robotic inventory dispensing system (e.g., through a wireless communication, through an encoded barcode, or the like) to indicate the order and customer identifying information. The operational functions 900 may further include related functions for identifying an online order pickup 920. For example, the kiosk of the robotic inventory dispensing system may receive user identifying information (through automatic communication or manual input) to indicate that an item was previously purchased, reserved, or selected by the consumer in an electronic commerce website (such as with a device that is not in proximity to the kiosk).
The operational functions 900 may further include identifying in-store shopping activity 930 and performing activities in the robotic inventory dispensing system in response to the shopping activity. For example, the robotic system may reserve and pull a product item for a particular product or product category based on a consumer's shopping activity in a retail environment (such as whether they evaluate or inquire about a specific product item, scan a specific product item on a display shelf, etc.). The robotic system may automatically offer an item for sale or retrieval to the consumer (e.g., through the consumer kiosk user interface), based on this consumer's shopping activity or prior shopping activity. Likewise, the operational functions 900 may further include coordinating point-of-sale activities with robotic operations 970, such as the manual or automatic retrieval of products in response to purchase activities occurring at a point-of-sale system (e.g., checkout or sales location of a retail space).
The operational functions 900 may further include robotic operations that are performed within the robotic inventory dispensary in response to detected commerce activities. These may include functions to reserve one or more product items for product item orders or shopping activity 950, and functions to retrieve one or more product items for product item orders or shopping activity 960. For example, reservation operations may be used to hold or reserve a specific product item in the inventory of the storage unit, based on a customer's shopping activity (e.g., to view or evaluate specific products in the retail environment) near or in proximity to the robotic inventory dispensary. Also for example, retrieval operations may be used to retrieve a specific product item from the inventory of the storage unit based on purchases occurring in the retail environment near or in proximity to the robotic inventory dispensary. These shopping activities and purchases may be real-world activities (e.g., product browsing, demonstrations, or interactions), or electronic activities (e.g., online and mobile app purchases, product research and searching).
The operational functions 900 may further include communication with a consumer's smartphone 940, or communication with a consumer's wearable device 980 (e.g., smartwatch), to implement any of the functions previously described. These communications may be performed with personal devices of the consumer, for example, for customer identification; communication of purchase or customer profile information; or product recommendations.
As shown in the flowchart 1000, the robotic inventory dispensary may interface with one or more systems (such as electronic commerce systems) that receive customer interaction with a remote computing device (such as a customer's smartphone) (operation 1002). This customer interaction may be communicated to the robotic inventory dispensary from the interfaced system (e.g., from the electronic commerce system, from a customer management system, or from an inventory management system). The information for the customer interaction may provide customer product transaction information that is received by the robotic inventory dispensary (operation 1004) about the particular product transaction (e.g., shopping activity, purchase, or the like).
The customer product transaction information may be used to identify a particular product item stored in the robotic inventory dispensary (operation 1006), and reserve the product item from the inventory of the robotic inventory dispensary (operation 1008). For example, the product item in inventory may be a specific instance of the product item that is stored in a particular storage location (e.g., cell) of the storage unit. This identified product item in inventory may be reserved from dispensing, or moved to a temporary holding location for later pickup.
At a subsequent time, a customer interaction will be received with a consumer kiosk of the robotic inventory dispensary (operation 1010), such as through the presentation of a customer identifier, a barcode, or other forms of an electronic communication. The robotic inventory dispensary will operate to identify the customer and the product transaction (operation 1012), such as by interfacing with an electronic commerce system. The identified product items for the transaction may be used to access the reserved product item (operation 1014) that has been reserved for the transaction in the robotic inventory dispensary. Finally, the reserved product item may be dispensed from the robotic inventory dispensary (operation 1016), which may be accompanied by other verifications of the product item, the customer, or payment method. In some examples, the reservation process may involve pre-payment of the product item from the electronic commerce system; in other examples, the reservation process may be followed by payment occurring at time of dispensing.
Example computer system 1100 includes at least one processor 1102 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both, processor cores, compute nodes, etc.), a main memory 1104 and a static memory 1106, which communicate with each other via a link 1108 (e.g., bus or interconnect). The computer system 1100 may further include a video display unit 1110, an input device 1112 (e.g., an alphanumeric keyboard), and a user interface (UI) navigation device 1114 (e.g., a mouse). In one example, the video display unit 1110, input device 1112 and UI navigation device 1114 are incorporated into a touch screen display. The computer system 1100 may additionally include a storage device 1116 (e.g., a drive unit), a signal generation device 1118 (e.g., a speaker), a network interface device 1120, and one or more sensors (not shown), such as a global positioning system (GPS) sensor, compass, accelerometer, location sensor, or other sensor.
The storage device 1116 includes a machine-readable medium 1122 on which is stored one or more sets of data structures and instructions 1124 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 1124 may also reside, completely or at least partially, within the main memory 1104, static memory 1106, and/or within the processor 1102 during execution thereof by the computer system 1100, with the main memory 1104, static memory 1106, and the processor 1102 also constituting machine-readable media.
While the machine-readable medium 1122 is illustrated in an example to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions 1124. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including, but not limited to, by way of example, semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
The instructions 1124 may further be transmitted or received over a communications network 1126 using a transmission medium via the network interface device 1120 utilizing any one of a number of well-known transfer protocols (e.g., HTTP). The communications with the communication network 1126 optionally may occur using wireless transmissions sent via one or more antennas 1128. Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, plain old telephone (POTS) networks, and wireless data networks (e.g., Wi-Fi, 3G, and 4G LTE/LTE-A or WiMAX networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with others. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. However, the claims may not set forth every feature disclosed herein as embodiments may feature a subset of said features. Further, embodiments may include fewer features than those disclosed in a particular example. Thus, the following claims are hereby incorporated into the Detailed Description, with a claim standing on its own as a separate embodiment. The scope of the embodiments disclosed herein is to be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
The present application claims priority to United States Provisional Patent Application Ser. No. 62/330,941 filed May 3, 2016, and titled “ROBOTIC INVENTORY DISPENSARY OPERATIONAL ENHANCEMENTS”, which is hereby incorporated by reference in its entirety. The present application also includes subject matter related to the subject matter in: U.S. patent application Ser. No. 15/012,525, filed Feb. 1, 2016, and titled “Random-Access Robotic Inventory Dispensary: Operation Prioritization”; U.S. patent application Ser. No. 14/702,803, filed May 4, 2015, and titled “Random-Access Robotic Inventory Dispensary: Replenishment and Purge”; U.S. patent application Ser. No. 14/702,813, filed May 4, 2015, titled “Random-Access Robotic Inventory Dispensary: Multi-Pick Fulfillment”; and U.S. patent application Ser. No. 14/702,827, filed May 4, 2015, titled “Random-Access Robotic Inventory Dispensary: Variable Bin Height”; each of these applications are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62330941 | May 2016 | US |