Systems and methods for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves
The system addresses the limitations of traditional smart lockers by enabling automated operation and assessment through QR code technology, improving inventory management and maintenance processes.
Patent Information
- Application Number
- PCT/US2023/018046
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-04-12
- Filing Date
- 2023-06-27
- Publication Date
- 2025-01-02
AI Technical Summary
Traditional smart lockers require customer input for operation and lack automated assessment of items, limiting their functionality in inventory management and product assessment.
A system that uses processors and memory to enable attendant-less operation through QR code generation and scanning, allowing for automated unlocking, image capture, and inventory management, as well as assessment of item condition for maintenance decisions.
Facilitates efficient pickup, return, and assessment of products, enabling automated inventory tracking and maintenance decisions, enhancing operational convenience and data accuracy.
Smart Images

Figure US2023018046_02012025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR PICKUP, RETURN, ASSESSMENT, ACCESS, AND MAINTENANCE OF PRODUCTS THROUGH ATTENDANT-LESS SECURED SMART LOCKERS AND SMART SHELVESCROSS REFERENCE TO RELATED APPLICATIONS AND PRIORITY CLAIM
[0001] This application is a Patent Cooperation Treaty (PCT) application of, and claims priority under Article 8 of the PCT to, U.S. Patent Application No. 63 / 330,261 filed on April 12, 2022, the entirety of which is incorporated herein as if fully set forth below.FIELD
[0002] The disclosed technology relates to systems and methods for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves.BACKGROUND
[0003] The use of self-serve, attendantless, automated lockers and smart shelves for the purpose of rental, purchase, pickup, and return of consumer goods is provided to consumers for on demand rental convenience. This apparatus and method is used to aid in the convenience to the consumer and operator of the automated lockers and smart shelves. Traditional smart lockers require customer input into an interface located on the smart locker to open the smart locker door, and doesn’t provide data to a product assessment system for automated assessment of items placed in the smart locker. The disclosed systems and methods provide multiple ways to track inventory, open the smart lockers via smart cloud connected buttons or a mobile phone interface, and provide automated assessment of returned items.SUMMARY
[0004] In one aspect, the disclosed embodiments may include a system for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers andsmart shelves. The system may include one or more processors, and memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to provide pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system can receive, from a user device, a transaction request that includes an item identifier and a smart locker identifier associated with a smart locker. The system can generate a quick response (QR) code based at least in part on the transaction request. The system can receive location data from the user device. In response to the user device scanning the QR code and determining that the user device is within a predetermined distance to the smart locker based at least in part on the location data from the user device, the system can transmit instructions to the user device to display a software application button on the user device. The system can receive, from the user device, a signal that indicates a user of the user device interacting with the software application button. The system can transmit instructions to the smart locker to cause the smart locker to transition from a locked state to an unlocked state.
[0005] In another aspect, the disclosed embodiments may include a system for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system may include one or more processors, and memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to provide pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system can receive, from a user device, a return request that includes an item identifier and a smart locker identifier associated with the smart locker. The system can generate a quick response (QR) code based at least in part on the return request. The system can receive location data from the user device. In response to the user device scanning the QR code and determining that the user device is within a predetermined distance to the smart locker based at least in part on the location data, the system can transmit instructions to the user device to display a software application button on the user device. The system can receive, from the user device, a signal indicative of a user of the user device interacting with the software application button. The system can transmit instructions to the smart locker to cause the smart locker to transition from a locked state to an unlocked state. The system can transmit instructions to cause an image capture device associated with the smart locker to capture one or more images. The system can receive and store the one ormore images from the smart locker. The system can receive, from one or more sensors associated with the smart locker, an indication that the item associated with the item identifier is placed within the smart locker. In response to the indication, the system can transmit instructions to the smart locker to transition from the unlocked state to the locked state.
[0006] In some examples, the system can determine, based on at least the one or more images captured by the image capture device and data collected by the one or more sensors associated with the smart locker, a condition score of the item associated with the item identifier. The system can determine whether the item requires maintenance or replacement based at least in part on the condition score.
[0007] In another aspect, disclosed embodiments may include a system for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system may include one or more processors, and memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to provide pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system can receive a first indication from a door lock associated with the smart locker that the smart locker has been opened. The system can transmit instructions causing an image capture device associated with the smart locker to capture one or more images responsive to the first indication. The system can receive a second indication from one or more item sensors associated with the smart locker that an item has been removed from the smart locker. The system can update an item database to indicate that the item has been removed from the smart locker based at least in part on the second indication.
[0008] In another aspect, disclosed embodiments may include a system for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system may include one or more processors, and memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to provide pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system can receive a first input from a physical button in communication with the one or more processors. In response to the first input, the system can cause one or more item sensors each associated with a plurality of smart lockers to determine a first inventory count for each of theplurality of smart lockers. The system can identify a first smart locker of the plurality of smart lockers that include one or more items. The system can cause the first smart locker to transition from a locked state to an unlocked state. The system can transmit a signal to the physical button to indicate to a user of the button that the first smart locker is in the unlocked state. The system can receive a first indication from a door lock associated with the first smart locker that a door of the first smart locker has been opened. The system can receive a second indication from the door lock that the door has been closed. In response to the second indication, the system can cause the one or more item sensors associated with the first smart locker to determine a second inventory count. The system can cause the physical button to display the second inventory count for the first smart locker.
[0009] In some embodiments, the system can receive a second input from the physical button. In response to the second input, the system can cause the one or more item sensors associated with each smart locker of the plurality of smart lockers to determine a third inventory count. The system can identify one or more smart lockers of the plurality of smart lockers that require a restock of one or more items based on the third inventory count. The system can cause the one or more smart lockers of the plurality of smart lockers to transition from a locked state to an unlocked state to facilitate restocking.
[0010] In another aspect, disclosed embodiments may include a system for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system may include one or more processors, and memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to provide pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves. The system can receive, from a user device, a transaction request including an item identifier and a smart locker identifier associated with the smart locker. The system can generate a quick response (QR) code based at least in part on the transaction request. The system can receive location data from the user device. In response to the user device scanning the QR code and determining that the user device is within a predetermined distance to the smart locker based at least in part on the location data from the user device, the system can transmit instructions to the user device to display a software application button on the user device. The system can receive, from the user device, a signal indicative of a user of the user device interacting with the software application on the userdevice. The system can transmit instructions to the smart locker to cause the smart locker to transition from a locked state to an unlocked state. The system can receive item sensor data from one or more item sensors associated with the smart locker. The system can update inventory information associated with the smart locker.
[0011] Further implementations, features, and aspects of the disclosed technology, and the advantages offered thereby, are described in greater detail hereinafter, and can be understood with reference to the following detailed description, accompanying drawings, and claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Reference will now be made to the accompanying drawings, which arc not necessarily drawn to scale, and which illustrate various implementations, aspects, and principles of the disclosed technology. In the drawings:
[0013] FIG. 1 is block diagram of an example system that may be used to provide pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves, according to an example implementation of the disclosed technology.
[0014] FIG. 2 is block diagram of an example user device used to provide pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves, according to an example implementation of the disclosed technology.
[0015] FIGS. 3-8 are flow diagrams illustrating an exemplary methods for pickup, return, assessment, access, and maintenance of products through attendant-less secured smart lockers and smart shelves in accordance with certain embodiments of the disclosed technology.DETAILED DESCRIPTION
[0016] Some implementations of the disclosed technology will be described more fully with reference to the accompanying drawings. This disclosed technology may, however, be embodied in many different forms and should not be construed as limited to the implementations set forth herein. The components described hereinafter as making up various elements of the disclosed technology are intended to be illustrative and not restrictive. Many suitable components that would perform the same or similar functions as components described herein are intended to be embraced within the scope of the disclosed electronic devices and methods.
[0017] Reference will now be made in detail to example embodiments of the disclosed technology that arc illustrated in the accompanying drawings and disclosed herein. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
[0018] FIG. 1 is a block diagram of an example system that may interact with one or more smart lockers 300, according to an example implementation of the disclosed technology. The components and arrangements shown in FIG. 1 are not intended to limit the disclosed embodiments as the components used to implement the disclosed processes and features may vary. As shown, the system can include computing device 100, user device 120, cloud connected button 150, cloud server 200, inventory management system database 220, and one or more smart lockers 300. User device 120 can further be equipped with a location sensor 110 and in some examples can be configured to present a software button 130 via a program 450 stored on user device 120. Location sensor can be of any type, including a global positioning system (GPS) sensor. User device 120 can also include a camera that can be used to capture one or more images that may be transmitted to other components of the system, such as cloud server 200 over a network.
[0019] In some embodiments, computing device 100 can be configured to communicate with cloud server 200 and / or cloud based database 220 to access administration portal for managing information stored on one of cloud server 200 and / or cloud based database 220. In some examples, computing device 100 can be operated by an administrator of the system in order to manage inventory data, customer purchase data, and / or customer rental data for items associated with smart locker 300.
[0020] In some embodiments, a user may operate the user device 120. The user device 120 can include one or more of a mobile device, smart phone, general purpose computer, tablet computer, laptop computer, telephone, public switched telephone network (PSTN) landline, smart wearable device, voice command device, other mobile computing device, or any other device capable of communicating with the network and ultimately communicating with one or more components of the system. In some embodiments, the user device 120 may include or incorporate electronic communication devices for hearing or vision impaired users.
[0021] According to some embodiments, the user device 120 may include an environmental sensor for obtaining audio or visual data, such as a microphone and / or digital camera, a geographic location sensor for determining the location of the device, an input / output device such as atransceiver for sending and receiving data, a display for displaying digital images, one or more processors, and a memory in communication with the one or more processors.
[0022] The network may be of any suitable type, including individual connections via the internet such as cellular or WiFi networks. In some embodiments, the network may connect terminals, services, and mobile devices using direct connections such as radio-frequency identification (RFID), near-field communication (NFC), Bluetooth™, low-energy Bluetooth™ (BLE), WiFi™, ZigBee™, ambient backscatter communications (ABC) protocols, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security concerns may dictate one or more of these types of connections be encrypted or otherwise secured. In some embodiments, however, the information being transmitted may be less personal, and therefore the network connections may be selected for convenience over security.
[0023] The network may include any type of computer networking arrangement used to exchange data. For example, the network may be the Internet, a private data network, virtual private network (VPN) using a public network, and / or other suitable connection(s) that enable(s) components in the system environment to send and receive information between the components of the system. The network may also include a PSTN and / or a wireless network.
[0024] Cloud connected button 150 can be configured to communicate with other components of the system over the network, for example, cloud connected button 150 can communicate with cloud server 200 in some examples. In some examples, cloud connected button 150 can be a physical button in communication with the cloud server 200. According to some embodiments, the cloud connected button 150 can communicate with other devices within the system with the MQTT protocol, although other communications are not precluded as would be understood by a person having pertinent skill in the relevant art.
[0025] Cloud server 200 can be a computing device that operates remotely from one or more smart lockers 300. Cloud server 200 can be configured to receive and transmit information from other components of the system, including but not limited to user device 120, computing device 100, cloud connected button 150, cloud based database 220, and / or one or more smart lockers 300. Cloud based database can be configured to manage inventory information, user profile information, item order information, and / or payment information associated with items distributed via the one or more smart lockers 300. Inventory information can include products in stock and out of stock in each of the one or more smart lockers 300. Inventory' information can also includeinformation regarding items rented from one of the one or more smart lockers 300. Item order information can include a database of users and items purchased by the users. In some embodiments, cloud server 200 can communicate with other devices within the system using MQTT protocol, although other protocols are not precluded as would be understood by a person having pertinent skill in the relevant art.
[0026] In some examples, each of the one or more smart lockers 300 can include an RFID sensor 305. For example, RFID sensor 305 can be configured to detect when items are put inside or taken out of smart locker 300. In some examples, each of the one or more smart lockers 300 can include a gateway sensor 310. Gateway sensor 310 can be configured to detect when items are put inside or taken out of the smart locker 300. In some examples, gateway senor 310 can be a Bluetooth® sensor or Bluetooth® low energy sensor. In some examples, items placed within smart locker 300 can include tags that are configured to communicate with gateway sensor 310.
[0027] In some examples, each of the one or more smart lockers 300 can include a processor 320 that has some or all of the functionalities of user device 120, computing device 100, and / or cloud server 200. For example, processor 320 can be configured to communicate with other components the system to receive commands from cloud server 200, cloud connected button 150, and / or user device 120 to remotely unlock the smart locker 300. In some examples, the processor 320 can also be configured to interact with gateway sensor 310 to update item inventory within smart locker 300 and transmit the updated inventory information to the cloud server 200 to be stored on cloud based database 220. In some embodiments, processor 320 can communicate with other components of the system using the MQTT protocol, although other communication protocols are not precluded as would be understood by a person having pertinent skill in the relevant art.
[0028] In some examples, each of the one or more smart lockers can include a controller 325 and a smart lock 350. Controller 325 can be configured to translate commands received by processor 320 to operate a smart lock 350. For example controller 325 can be configured to transmit remote unlock and lock commands from processor 320 via http, serial, TCP, and / or MODBUS protocols, although other protocols are not precluded as would be understand by a person having pertinent skill in the relevant art.
[0029] In some examples, each of the one or more smart lockers 300 can include an image capture device 330. Image capture device 330 can be configured to capture one or more imagesand / or videos. For example, image capture device 330 can be activated to capture one or more images and / or video when a user is detected returning a rented item to a smart locker 300.
[0030] In some examples, each of the one or more smart lockers 300 can include one or more smart shelf sensors 340. The smart shelf sensors 340 can be configured to measure a weight of items placed upon shelves of smart locker 300 and transmit weight data to processor 320 of smart locker 300. In some examples, processor 320 of smart locker 320 can transmit weight data determined by smart shelf sensors 320 to cloud server 200 for further processing.
[0031] In some examples, each of the one or more smart lockers 300 can include quick response (QR) code generator 360. In some examples, the QR code generator 360 can be configured to generate a QR code in response to receiving a command from one of the user device 120, cloud server 200, and / or cloud connected button 150.
[0032] The system may be associated with and optionally controlled by one or more entities such as a business, corporation, individual, partnership, or any other entity that provides one or more of goods, services, and consultations to individuals such as customers. In some embodiments, the system may be controlled by a third party on behalf of another business, corporation, individual, partnership. The system may include one or more servers and computer systems for performing one or more functions associated with products and / or services that the organization provides.
[0033] Cloud server 200 may include a computer system configured to generate and provide one or more websites and / or applications accessible to customers, as well as any other individuals involved in the systems’ normal operations. Cloud server 200 may include a computer system configured to receive communications from user device 120 via for example, a mobile application, a chat program, an instant messaging program, a voice-to-text program, an SMS message, email, or any other type or format of written or electronic communication. Cloud server 200 may have one or more processors and one or more cloud server databases 220, which may be any suitable repository of website data. Information stored in cloud server 200 and / or cloud based database 220 may be accessed (e.g., retrieved, updated, and added to) via the network by one or more devices within the system. In some embodiments, cloud server 200 may host websites or applications that may be accessed by the user device 120. The cloud server 200 may also be hosted by an online provider of website hosting, networking, cloud, or backup services, such as Microsoft Azure™ or Amazon Web Services™.
[0034] FTG. 2 is a block diagram of an example user device 120 used to interact with the one or more smart lockers 300 according to an example implementation of the disclosed technology. According to some embodiments, the computing device 100, cloud server 200, cloud based database 220, user device 120, and cloud connected button 150, as depicted in FIG. 1 and described above, may have a similar structure and components that are similar to those described with respect to user device 120 shown in FIG. 2. As shown, the user device 120 may include a processor 410, an input / output (I / O) device 470, a memory 430 containing an operating system (OS) 440 and a program 450. In certain example implementations, the user device 120 may be a single server or may be configured as a distributed computer system including multiple servers or computers that interoperate to perform one or more of the processes and functionalities associated with the disclosed embodiments. In some embodiments user device 120 may be one or more servers from a serverless or scaling server system. In some embodiments, the user device 120 may further include a peripheral interface, a transceiver, a mobile network interface in communication with the processor 410, a bus configured to facilitate communication between the various components of the user device 120, and a power source configured to power one or more components of the user device 120.
[0035] A peripheral interface, for example, may include the hardware, firmware and / or software that enable(s) communication with various peripheral devices, such as media drives (e.g., magnetic disk, solid state, or optical disk drives), other processing devices, or any other input source used in connection with the disclosed technology. In some embodiments, a peripheral interface may include a serial port, a parallel port, a general-purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB port, a high-definition multimedia interface (HDMI) port, a video port, an audio port, a Bluetooth™ port, a near- field communication (NFC) port, another like communication interface, or any combination thereof.
[0036] In some embodiments, a transceiver may be configured to communicate with compatible devices and ID tags when they are within a predetermined range. A transceiver may be compatible with one or more of: radio-frequency identification (RFID), near-field communication (NFC), Bluetooth™, low-energy Bluetooth™ (BLE), WiFi™, ZigBee™, ambient backscatter communications (ABC) protocols or similar technologies.
[0037] A mobile network interface may provide access to a cellular network, the Internet, or another wide-area or local area network. In some embodiments, a mobile network interface mayinclude hardware, firmware, and / or software that allow(s) the processor(s) 410 to communicate with other devices via wired or wireless networks, whether local or wide area, private or public, as known in the art. A power source may be configured to provide an appropriate alternating current (AC) or direct current (DC) to power components.
[0038] The processor 410 may include one or more of a microprocessor, microcontroller, digital signal processor, co-processor or the like or combinations thereof capable of executing stored instructions and operating upon stored data. The memory 430 may include, in some implementations, one or more suitable types of memory (e.g. such as volatile or non-volatile memory, random access memory (RAM), read only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, floppy disks, hard disks, removable cartridges, flash memory, a redundant array of independent disks (RAID), and the like), for storing files including an operating system, application programs (including, for example, a web browser application, a widget or gadget engine, and or other applications, as necessary), executable instructions and data. In one embodiment, the processing techniques described herein may be implemented as a combination of executable instructions and data stored within the memory 430.
[0039] The processor 410 may be one or more known processing devices, such as, but not limited to, a microprocessor from the Core™ family manufactured by Intel™, the Ryzen™ family manufactured by AMD™, or a system-on-chip processor using an ARM™ or other similar architecture. The processor 410 may constitute a single core or multiple core processor that executes parallel processes simultaneously, a central processing unit (CPU), an accelerated processing unit (APU), a graphics processing unit (GPU), a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application- specific integrated circuit (ASIC) or another type of processing component. For example, the processor 410 may be a single core processor that is configured with virtual processing technologies. In certain embodiments, the processor 410 may use logical processors to simultaneously execute and control multiple processes. The processor 410 may implement virtual machine (VM) technologies, or other similar known technologies to provide the ability to execute, control, run, manipulate, store, etc. multiple software processes, applications, programs, etc. One of ordinary skill in the art wouldunderstand that other types of processor arrangements could be implemented that provide for the capabilities disclosed herein.
[0040] In accordance with certain example implementations of the disclosed technology, the user device 120 may include one or more storage devices configured to store information used by the processor 410 (or other components) to perform certain functions related to the disclosed embodiments. In one example, the user device 120 may include the memory 430 that includes instructions to enable the processor 410 to execute one or more applications, such as server applications, network communication processes, and any other type of application or software known to be available on computer systems. Alternatively, the instructions, application programs, etc. may be stored in an external storage or available from a memory over a network. The one or more storage devices may be a volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, non-removable, or other type of storage device or tangible computer-readable medium.
[0041] The user device 120 may include a memory 430 that includes instructions that, when executed by the processor 410, perform one or more processes consistent with the functionalities disclosed herein. Methods, systems, and articles of manufacture consistent with disclosed embodiments are not limited to separate programs or computers configured to perform dedicated tasks. For example, the user device 120 may include the memory 430 that may include one or more programs 450 to perform one or more functions of the disclosed embodiments. For example, in some embodiments, a program 250 of the user device 120 may generate a software based button (e.g., software button 130) that, when pressed by a user of user device 120 is configured to transmit instructions to one of smart locker 300 and / or cloud server 200 to provide remote unlock instructions to smart locker 300.
[0042] The processor 410 may execute one or more programs 450 located remotely from the user device 120. For example, the user device 120 may access one or more remote programs that, when executed, perform functions related to disclosed embodiments.
[0043] The memory 430 may include one or more memory devices that store data and instructions used to perform one or more features of the disclosed embodiments. The memory 430 may also include any combination of one or more databases controlled by memory controller devices (e.g., server(s), etc.) or software, such as document management systems, Microsoft™ SQL databases, SharePoint™ databases, Oracle™ databases, Sybase™ databases, or other relational or non-relational databases. The memory 430 may include software components that,when executed by the processor 410, perform one or more processes consistent with the disclosed embodiments. In some embodiments, the memory 430 may include a user device database 460 for storing related data to enable the user device 120 to perform one or more of the processes and functionalities associated with the disclosed embodiments.
[0044] The user device database 460 may include stored data relating to status data (e.g., average session duration data, location data, idle time between sessions, and / or average idle time between sessions) and historical status data. According to some embodiments, the functions provided by the user device database 460 may also be provided by a database that is external to the user device 120, such as the cloud based database 220 as shown in FIG. 1.
[0045] The user device 120 may also be communicatively connected to one or more memory devices (e.g., databases) locally or through a network. The remote memory devices may be configured to store information and may be accessed and / or managed by the user device 120. By way of example, the remote memory devices may be document management systems, Microsoft™ SQL database, SharePoint™ databases, Oracle™ databases, Sybase™ databases, or other relational or non-relational databases. Systems and methods consistent with disclosed embodiments, however, are not limited to separate databases or even to the use of a database.
[0046] The user device 120 may also include one or more I / O devices 470 that may comprise one or more interfaces for receiving signals or input from devices and providing signals or output to one or more devices that allow data to be received and / or transmitted by the user device 120. For example, the user device 120 may include interface components, which may provide interfaces to one or more input devices, such as one or more keyboards, mouse devices, touch screens, track pads, trackballs, scroll wheels, digital cameras, microphones, sensors, and the like, that enable the user device 120 to receive data from a user (such as, for example, via the software button 130).
[0047] In examples of the disclosed technology, the user device 120 may include any number of hardware and / or software applications that are executed to facilitate any of the operations. The one or more VO interfaces may be utilized to receive or collect data and / or user instructions from a wide variety of input devices. Received data may be processed by one or more computer processors as desired in various implementations of the disclosed technology and / or stored in one or more memory devices.
[0048] While the user device 120 has been described as one form for implementing the techniques described herein, other, functionally equivalent, techniques may be employed. Forexample, some or all of the functionality implemented via executable instructions may also be implemented using firmware and / or hardware devices such as application specific integrated circuits (ASICs), programmable logic arrays, state machines, etc. Furthermore, other implementations of the user device 120 may include a greater or lesser number of components than those illustrated.
[0049] FIG. 3 is a flow diagram illustrating an exemplary method 500 for pickup of products through attendant-less secured smart lockers and smart shelves, in accordance with certain embodiments of the disclosed technology. The steps of method 500 may be performed by one or more components of the system (e.g., user device 120, cloud server 200, cloud based database 220, computing device 100, and / or smart locker 300). More specifically, FIG. 3 relates to a method for control of smart locker 300 through a combination of a user device 120 and QR code generator 360. According to some embodiments, the smart locker can be rated for hazardous locations with class 1 division 2 compliant components. The smart locker can be configured to securely store items such as propane canisters and can be remotely unlocked using user device 120 and QR code generator 360 as described below.
[0050] In block 502, the cloud server 200 may receive an item order from user device 120. For example, application 250 on user device 120 can be configured to transmit the item order to cloud server 200 over a network. The item order can be transmitted in any format, and in some examples is transmitted over https protocol to cloud server 200. The item order can be a transaction request that includes a smart locker identifier associated with a respective smart locker 300 of the one or more smart lockers. The item order can also include an item identifier specifying a particular item that a user of user device 120 wishes to purchase. The item order can include payment information, which can be processed by cloud server 200 and stored within cloud based database 220.
[0051] In block 504, the smart locker 300 identified in the item order can generate a QR code using QR code generator 360. For example, in response to receiving the item order and processing the payment information, cloud server 200 can transmit instructions to processor 320 of smart locker 300 to instruct QR code generator 360 to generate a QR code. In some examples, QR code generator 360 can be configured to generate dynamic QR codes such that the QR code generated is unique, secure, and not duplicated from day to day.
[0052] In block 506, the user device 120 can begin transmitting location data to cloud server 200. For example, location sensor 110 of user device 120 can begin transmitting location data to cloud server 200 either continuously or intermittently. In some examples, the user device 120 can be prompted to transmit location data to the cloud server 200 by the cloud server 200 after payment is processed by cloud server 200 based on the item order received from user device 120.
[0053] In decision block 508, a user of the user device 120 can scan the QR code generated by QR code generator 360 in block 504. In response to the user device scanning the QR code, the cloud server can determine whether the user device 120 is within a predetermined distance of the smart locker 300. In some examples, the predetermined distance can be 50 feet or less between the user device 120 and the respective smart locker 300. Once the QR code is scanned by the user device 120 and cloud server 200 determines that user device 120 is within the predetermined distance of the smart locker 300, the method may move to block 510. If the user device 120 is not within the predetermined distance, the method may move back to block 506, wherein cloud server 200 continues to receive location data from location sensor 110 of user device 120.
[0054] In block 510, the cloud server 200 can transmit instructions to the user device 120 to display a software button 130. In some examples, software button is displayed using program 450 of user device 120. In some examples, software button 130 is displayed after the cloud server 200 determines that user device 120 is within the predetermined distance to smart locker 300. After receiving instructions from cloud server 200, user device 120 can display the software button 130.
[0055] In block 512, the cloud server 200 can receive a signal indicative of a user interacting with software button 130. For example, a user of user device 120 can touch, press, or otherwise interact with software button 130 displayed on user device 120, which causes user device 120 to transmit a signal to the cloud server 200.
[0056] In block 514, the cloud server 200 can transmit instructions to smart locker 300 to cause the smart locker 300 to transition from a locked state to an unlocked state. In some examples, cloud server 200 can relay the instructions to processor 320 of smart locker 300 via the MQTT protocol. Accordingly, processor 320 of smart locker 300 can send a command to the controller 325 of smart locker, which generates an appropriate command to the smart lock 350 of smart locker 300. In some examples, the command generated by controller 325 can be via http, serial, and / or MODBUS protocols, depending on the model of smart lock 350 and controller 325. Upon receiving the command from controller 325, the smart lock 350 of smart locker 300 can transitionfrom a locked state to an unlocked state. Tn some examples, a sensor within the smart lock 350 can determine whether the smart lock has properly transitioned to the unlocked state, and this data is transmitted to processor 320 of smart locker. If processor 320 determines that the smart locker 350 can has not transitioned to the unlocked state, the processor 320 can transmit a message to cloud server 200 that relays the message to user device 120, causing user device 120 to keep the software button 130 enabled so that a user of user device 120 can interact with software button 130 again as necessary to unlock the smart lock 350.
[0057] In optional block 516, the cloud sever 200 can receive item sensor data from one or more item sensors associated with smart locker 300. For example, once the smart locker 300 transitions to an unlocked state, a user of user device 120 can take the appropriate item associated with the item order of block 502 out of smart locker 300. One or more of RFID sensor 305, gateway sensor 310, and / or smart shelf sensor 340 can provide feedback to processor 320 of smart locker 300 indicating the item associated with the item order of block 502 has been removed from smart locker 300.
[0058] In optional block 518, cloud server 200 can update inventory information associated with smart locker 300. For example, based on the sensor data received in optional block 516, the cloud server 200 can update inventory data associated with items stored within smart locker 300. In some examples, updating inventory data can include communicating with cloud based database 220 to update inventory data stored on cloud based database 220.
[0059] FIG. 4 is a flow diagram illustrating an exemplary method 600 for return of products through attendant-less secured smart lockers and smart shelves, in accordance with certain embodiments of the disclosed technology. The steps of method 600 may be performed by one or more components of the system (e.g., user device 120, cloud server 200, cloud based database 220, computing device 100, and / or smart locker 300). More specifically, FIG. 4 relates to a method for control of smart locker 300 through a combination of a user device 120 and QR code generator 360. According to some embodiments, the smart locker can be rated for hazardous locations with class 1 division 2 compliant components. The smart locker can be configured to securely store items such as propane canisters and can be remotely unlocked using user device 120 and QR code generator 360 as described below.
[0060] Method 600 of FIG. 4 is similar to method 500 of FIG. 3, except that method 600 may not include block 516 and 518. The descriptions of blocks 604, 606, 608, 610, 612, and 614 inmethod 600 are similar to the respective descriptions of blocks 504, 506, 508, 510, 512, and 514 of method 500 and arc not repeated herein for brevity. However, block 602 is different from block 502 and is described below. Additional blocks 616, 618, 620, and 622 are also described below.
[0061] In block 602, the cloud server 200 can receive a return request from user device 120. For example, a user of user device 120 may have rented an item from smart locker 300 and may wish to return the item to smart locker 300. The return request can include The return request can include requesting a user of user device 120 to capture an image (e.g., using a camera 140 associated with user device 120) of the item. The cloud server 200 can then store the return request information can include an item identifier and a smart locker identifier identifying a respective smart locker 300 that the user wishes to return the item to. The return request can also include identifying information of the user, so that cloud server 200 can identify a respective user profile stored within cloud based server 220.
[0062] In block 616, the cloud server 200 can transmit instructions to cause image capture device 330 associated with smart locker 300 to capture one or more images. For example, cloud server 200 can transmit instructions to processor 320 of smart locker 300 which can relay the instructions to image capture device 330 to begin capturing photos, recording video, or both in connection with the item return request. The image capture device may begin capturing images and / or video in response to the smart locker 300 transitioning from the locked state to the unlocked state.
[0063] In block 618, the photos and / or video can be relayed to the processor 320 which in turn can stream the data to the cloud server 200. Cloud server 200 can receive and store the image data on cloud server 200 and / or cloud based database 220, where the image data is stored in association with the respective user profile and the return request of block 602.
[0064] In block 620, the cloud server 200 can receive an indication that the item associated with the return request is placed within the smart locker 300. For example, one or more sensors associated with the smart locker 300 (e.g., RFID sensor 305, gateway sensor 310, and / or smart shelf sensor 340) can determine that the item associated with the return request has been placed within the smart locker. For example, RFID sensor can detect an RFID tag associated with the returned item, the gateway sensor 310 can detect a tag (e.g., Bluetooth® low energy tag) associated with the returned item, and / or the smart shelf sensor 340 can detect a change in weight that is equivalent to the weight associated with the returned item. The processor 320 of smart locker 300can determine that the item has been placed within the smart locker based on data received by the one or more sensors, and in turn, the processor 320 of smart locker 300 can relay the data to cloud server 200, indicating that the item associated with the return request has been placed within smart locker 300.
[0065] In block 622, the cloud server 200 can transmit instructions to the smart locker 300 to cause the smart locker 300 to transition from the unlocked state to the locked state. For example processor 320 can receive the instructions from cloud server 200 which can relay the instructions to controller 325, which relays the instructions to smart lock 350 to transition from the unlocked state to the locked state.
[0066] FIG. 5 is a flow diagram illustrating an exemplary method 700 for assessment and maintenance of products through attendant-less secured smart lockers and smart shelves, in accordance with certain embodiments of the disclosed technology. The steps of method 700 may be performed by one or more components of the system (e.g., user device 120, cloud server 200, cloud based database 220, computing device 100, and / or smart locker 300). More specifically, FIG. 5 relates to a method for assessing the condition of a returned item as described with respect to FIG. 4.
[0067] In block 702, the cloud server 200 can determine, based at least on the one or more images captured by the image capture device 330 and data collected by the one or more sensors (e.g., RFID sensor 305, gateway sensor 310, and / or smart shelf sensor 340) to determine a condition score of the returned item as described in method 600. The photos, condition score, and data collected by the one or more sensors can be transmitted to the cloud server 200 to be stored on cloud server 200 and / or cloud based database 220. An administrator of the system can access the stored information by using computing device 100 to log into cloud server 200 to assess the condition score. In some examples, the condition score can be based on a user’s profile, including rental history, photos of the returned item taken before the rental in comparison to photos of the item when it is returned, and / or the condition score as determined by the one or more sensors.
[0068] In decision block 704, cloud server 200 can determine whether the condition is acceptable for the returned item to be rented again.
[0069] In response to determining that the condition score is acceptable, the method may move to block 706 in which the return is processed and finalized by the cloud server 200. In someembodiments, the determination can be based on comparing the condition score to predetermined threshold.
[0070] In response to determining that the condition is unacceptable, the method may move to block 708 in which the administrator is notified that the item needs replacement or maintenance. For example, the administrator using computing device 100 may be notified by cloud server 200 that the returned item requires maintenance or replacement. The item condition can be stored on cloud server 200 and / or cloud based database 220 in connection with the respective item identifier.
[0071] FIG. 6 is a flow diagram illustrating an exemplary method 800 for return of products through attendant-less secured smart lockers and smart shelves without a transaction, in accordance with certain embodiments of the disclosed technology. The steps of method 800 may be performed by one or more components of the system (e.g., user device 120, cloud server 200, cloud based database 220, computing device 100, and / or smart locker 300). More specifically, FIG. 6 relates to a method for control of smart locker 300 in which the smart lock 350 is disabled and / or perpetually open. As items are taken or placed into the smart locker 300, item inventory can be updated as described below.
[0072] In block 802, the cloud server 200 can receive a first indication from a door lock (e.g., smart lock 350) associated with the smart locker 300 that the smart locker 300 is opened. For example, the smart lock 350 can be configured not to lock the smart locker 300, but instead provides an indication to processor 320 the state of a door of the smart locker; that is, whether the door of smart locker 300 is open or closed. In response, the processor 320 can transmit the status of the door (e.g., open or closed) to cloud server.
[0073] In block 804, the cloud server 200 can cause the image capture device 330 associated with the smart locker 300 to begin capturing one or more images. For example, in response to receiving the indication that the door of the smart locker 300 has been opened, the cloud server 200 can transmit instructions to processor 320, which relays a message to the image capture device 330 to begin capturing one or more images. In some examples, the one or more images can be photos or live-streaming video to capture a user of smart locker 300 as the user opens the door of smart locker 300.
[0074] In block 806, the cloud server 200 can receive a second indication that an item has been removed from the smart locker 300. For example one or more sensors (e.g., RFID sensor 305, gateway sensor 310, and / or smart shelf sensor 340) can determine that the item associated with thereturn request has been removed from the smart locker 300. For example, RFID sensor can detect an RFID tag associated with the item and determine when the tag is no longer within the smart locker 300, the gateway sensor 310 can detect a tag (e.g., Bluetooth® low energy tag) associated with the item and determine when the tag is no longer present within the smart locker 300, and / or the smart shelf sensor 340 can detect a change in weight that is equivalent to the weight associated with the taken item. The processor 320 of smart locker 300 can determine that the item has been removed from the smart locker 300 based on data received by the one or more sensors, and in turn, the processor 320 of smart locker 300 can relay the data to cloud server 200, indicating that the item associated has been placed removed from smart locker 300. In block 808, the cloud server can update the item database based on the information received in block 806. The item database can be stored on the cloud server 200 and / or the cloud based database 220.
[0075] FIG. 7 is a flow diagram illustrating an exemplary method 900 for pickup of hazardous products through attendant-less secured smart lockers and smart shelves, in accordance with certain embodiments of the disclosed technology. The steps of method 900 may be performed by one or more components of the system (e.g., user device 120, cloud connected button 150, cloud server 200, cloud based database 220, computing device 100, and / or smart locker 300). More specifically, FIG. 7 relates to a method for control of smart locker 300 through a cloud connected button 150. According to some embodiments, the smart locker can be rated for hazardous locations with class 1 division 2 compliant components. The smart locker can be configured to securely store items such as propane canisters and can be remotely unlocked using cloud connected button 150 as described below.
[0076] In block 902, the cloud server 200 can receive a first input from a physical button (e.g., cloud connected button 150). For example, a store clerk can operate the cloud connected button 150 by clicking the cloud connected button, which sends a message to the cloud server 200. Cloud server 200 can determine which smart lockers 300 the cloud connected button 150 is associated with. The cloud server 200 can then determine which of the one or more smart lockers 300 that are associated with the cloud connected button 150 should be unlocked based on stock information stored (e.g., a first inventory count) on cloud based database 220. In some examples, the first input can be a double click of the cloud connected button 150.
[0077] In optional block 904, if no stock information is available, the cloud server 200 can send instructions to the one or more smart lockers 300 associated with cloud connected button 150to cause one or more item sensors (e.g., RFTD sensor 305, gateway sensor 10, and / or smart shelf sensor 340) to determine a first inventory count. The processors 320 of the smart lockers can receive the instructions from cloud server 200 which cause the one or more sensors to determine the first inventory count. The first inventory count data can be transmitted to the processors 320 from the one or more sensors, and processors 320 can relay this data to cloud server 200, which can additionally be stored on cloud based database 220.
[0078] In block 906, the cloud server 200 can identify a first smart locker 300 that has the necessary stock for a purchase. For example, the cloud server 200 can utilize the first inventory count data to determine to unlock a specific smart locker 300 (e.g., first smart locker) of the one or more smart lockers associated with cloud connected button 150.
[0079] In block 908, the cloud server 200 can cause the first smart locker to transition from a locked state to an unlocked state. In some examples, cloud server 200 can relay the instructions to processor 320 of smart locker 300 via the MQTT protocol. Accordingly, processor 320 of smart locker 300 can send a command to the controller 325 of smart locker, which generates an appropriate command to the smart lock 350 of smart locker 300. In some examples, the command generated by controller 325 can be via http, serial, and / or MODBUS protocols, depending on the model of smart lock 350 and controller 325. Upon receiving the command from controller 325, the smart lock 350 of smart locker 300 can transition from a locked state to an unlocked state. In some examples, a sensor within the smart lock 350 can determine whether the smart lock has properly transitioned to the unlocked state, and this data is transmitted to processor 320 of smart locker. Processor 320 can relay the smart lock 350 is unlocked to cloud server 200.
[0080] In block 910, the cloud server 200 can transmit a signal to the cloud connected button 150 to indicate that the first smart locker 300 is in the unlocked state. For example, the cloud connected button 150 can include an indicator light which turns on to indicate that the smart lock 350 of first smart locker 300 is in the unlocked state.
[0081] In block 912, cloud server 200 can receive a first indication from the smart lock 350 that a door of the first smart locker 300 has been opened. For example, smart lock 350 can transmit door status of open to the processor 320, and processor 320 can relay this data to cloud server 200.
[0082] In block 914, the cloud server 200 can receive a second indication from the smart lock 350 that a door of the first smart locker 300 has been closed. For example, smart lock 350 cantransmit door status of closed to the processor 320, and processor 320 can relay this data to cloud server 200.
[0083] In block 916, the cloud server 200 can cause one or more item sensors associated with the first smart locker 300 (e.g., RFID sensor 305, gateway sensor 310, and / or smart shelf sensor 340) to determine a second inventory count. The processor 320 of the first smart locker 300 can receive the instructions from cloud server 200 which cause the one or more sensors to determine the second inventory count. The second inventory count data can be transmitted to the processor 320 from the one or more sensors, and processor 320 can relay this data to cloud server 200, which can additionally be stored on cloud based database 220. In some examples, in the event that more products have been removed than what were paid for, the cloud server 200 can transmit an indication to cloud connected button indicating the number of items that have been removed and at what time so that the operator of cloud connected button 150 can take appropriate action. In some examples, the operator of cloud connected button 150 can “single click” the cloud connected button to cause the cloud connected button 150 to display a number of items remaining in stock in first smart locker 300.
[0084] FIG. 8 is a flow diagram illustrating an exemplary method 1000 for pickup of hazardous products through attendant-less secured smart lockers and smart shelves, in accordance with certain embodiments of the disclosed technology. The steps of method 1000 may be performed by one or more components of the system (e.g., user device 120, cloud connected button 150, cloud server 200, cloud based database 220, computing device 100, and / or smart locker 300). More specifically, FIG. 8 relates to a method for control of smart locker 300 through a cloud connected button 150 for restocking items. According to some embodiments, the smart locker can be rated for hazardous locations with class 1 division 2 compliant components. The smart locker can be configured to securely store items such as propane canisters and can be remotely unlocked using cloud connected button 150 as described below.
[0085] In block 1002, the cloud server 200 can receive a second input from the physical button (e.g., cloud connected button 150). For example, the operator of the cloud connected button 150 can interact with the cloud connected button by “long pressing” the cloud connected button 150. For example, a store clerk can operate the cloud connected button 150 by long pressing the cloud connected button, which sends a message to the cloud server 200. Cloud server 200 can determine which smart lockers 300 the cloud connected button 150 is associated with. The cloud server 200can then determine which of the one or more smart lockers 300 that are associated with the cloud connected button 150 require a restock based on inventory information (c.g., a third inventory count) stored on cloud based database 220 for the smart lockers associated with the cloud connected button 150.
[0086] In optional block 1004, if no stock information is available, the cloud server 200 can send instructions to the one or more smart lockers 300 associated with cloud connected button 150 to cause one or more item sensors (e.g., RFID sensor 305, gateway sensor 310, and / or smart shelf sensor 340) to determine a third inventory count. The processors 320 of the smart lockers can receive the instructions from cloud server 200 which cause the one or more sensors to determine the third inventory count. The third inventory count data can be transmitted to the processors 320 from the one or more sensors, and processors 320 can relay this data to cloud server 200, which can additionally be stored on cloud based database 220.
[0087] Based on the third inventory count, the cloud server 220 can identify one or more smart lockers 300 that require a restock in block 1006. In block 1008, the cloud server can cause the one or more smart lockers 300 that require a restock to transition from a locked state to an unlocked state to facilitate restocking. For example processors 320 of the one or more smart lockers 300 requiring restocking can receive the instructions from cloud server 200 which can relay the instructions to controller 325, which relays the instructions to smart locks 350 to transition from the locked state to the unlocked state.
[0088] The features and other aspects and principles of the disclosed embodiments may be implemented in various environments. Such environments and related applications may be specifically constructed for performing the various processes and operations of the disclosed embodiments or they may include a general-purpose computer or computing platform selectively activated or reconfigured by program code to provide the necessary functionality. Further, the processes disclosed herein may be implemented by a suitable combination of hardware, software, and / or firmware. For example, the disclosed embodiments may implement general purpose machines configured to execute software programs that perform processes consistent with the disclosed embodiments. Alternatively, the disclosed embodiments may implement a specialized apparatus or system configured to execute software programs that perform processes consistent with the disclosed embodiments. Furthermore, although some disclosed embodiments may be implemented by general purpose machines as computer processing instructions, all or a portion ofthe functionality of the disclosed embodiments may be implemented instead in dedicated electronics hardware.
[0089] The disclosed embodiments also relate to tangible and non-transitory computer readable media that include program instructions or program code that, when executed by one or more processors, perform one or more computer-implemented operations. The program instructions or program code may include specially designed and constructed instructions or code, and / or instructions and code well-known and available to those having ordinary' skill in the computer software arts. For example, the disclosed embodiments may execute high level and / or low-level software instructions, such as machine code (e.g., such as that produced by a compiler) and / or high-level code that can be executed by a processor using an interpreter.
[0090] The technology disclosed herein typically involves a high-level design effort to construct a computational system that can appropriately process unpredictable data. Mathematical algorithms may be used as building blocks for a framework, however certain implementations of the system may autonomously learn their own operation parameters, achieving better results, higher accuracy, fewer errors, fewer crashes, and greater speed.
[0091] As used in this application, the terms “component,” “module,” “system,” “server,” “processor,” “memory,” and the like are intended to include one or more computer-related units, such as but not limited to hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on a computing device and the computing device can be a component. One or more components can reside within a process and / or thread of execution and a component may be localized on one computer and / or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and / or remote processes such as in accordance with a signal having one or more data packets, such as data from one component interacting with another component in a local system, distributed system, and / or across a network such as the Internet with other systems by way of the signal.
[0092] Certain embodiments and implementations of the disclosed technology are described above with reference to block and flow diagrams of systems and methods and / or computer program products according to example embodiments or implementations of the disclosed technology. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, respectively, can be implemented by computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, may be repeated, or may not necessarily need to be performed at all, according to some embodiments or implementations of the disclosed technology.
[0093] These computer-executable program instructions may be loaded onto a general- purpose computer, a special-purpose computer, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks.
[0094] As an example, embodiments or implementations of the disclosed technology may provide for a computer program product, including a computer-usable medium having a computer- readable program code or program instructions embodied therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. Likewise, the computer program instructions may be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
[0095] Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special-purpose, hardware- based computer systems that perform the specified functions, elements or steps, or combinations of special-purpose hardware and computer instructions.
[0096] Certain implementations of the disclosed technology described above with reference to user devices may include mobile computing devices. Those skilled in the art recognize that there are several categories of mobile devices, generally known as portable computing devices that can run on batteries but are not usually classified as laptops. For example, mobile devices can include, but are not limited to portable computers, tablet PCs, internet tablets, PDAs, ultra-mobile PCs (UMPCs), wearable devices, and smart phones. Additionally, implementations of the disclosed technology can be utilized with internet of things (loT) devices, smart televisions and media devices, appliances, automobiles, toys, and voice command devices, along with peripherals that interface with these devices.
[0097] In this description, numerous specific details have been set forth. It is to be understood, however, that implementations of the disclosed technology may be practiced without these specific details. Tn other instances, well-known methods, structures, and techniques have not been shown in detail in order not to obscure an understanding of this description. References to “one embodiment,” “an embodiment,” “some embodiments,” “example embodiment,” “various embodiments,” “one implementation,” “an implementation,” “example implementation,” “various implementations,” “some implementations,” etc., indicate that the implementation(s) of the disclosed technology so described may include a particular feature, structure, or characteristic, but not every implementation necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrase “in one implementation” does not necessarily refer to the same implementation, although it may.
[0098] Throughout the specification and the claims, the following terms take at least the meanings explicitly associated herein, unless the context clearly dictates otherwise. The term “connected” means that one function, feature, structure, or characteristic is directly joined to or incommunication with another function, feature, structure, or characteristic. The term “coupled” means that one function, feature, structure, or characteristic is directly or indirectly joined to or in communication with another function, feature, structure, or characteristic. The term “or” is intended to mean an inclusive “or.” Further, the terms “a,” “an,” and “the” are intended to mean one or more unless specified otherwise or clear from the context to be directed to a singular form. By “comprising” or “containing” or “including” is meant that at least the named element, or method step is present in article or method, but does not exclude the presence of other elements or method steps, even if the other such elements or method steps have the same function as what is named.
[0099] It is to be understood that the mention of one or more method steps does not preclude the presence of additional method steps or intervening method steps between those steps expressly identified. Similarly, it is also to be understood that the mention of one or more components in a device or system does not preclude the presence of additional components or intervening components between those components expressly identified.
[0100] Although embodiments are described herein with respect to systems or methods, it is contemplated that embodiments with identical or substantially similar features may alternatively be implemented as systems, methods and / or non-transitory computer-readable media.
[0101] As used herein, unless otherwise specified, the use of the ordinal adjectives “first,” “second,” “third,” etc., to describe a common object, merely indicates that different instances of like objects are being referred to, and is not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
[0102] While certain embodiments of this disclosure have been described in connection with what is presently considered to be the most practical and various embodiments, it is to be understood that this disclosure is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
[0103] This written description uses examples to disclose certain embodiments of the technology and also to enable any person skilled in the art to practice certain embodiments of this technology, including making and using any apparatuses or systems and performing anyincorporated methods. The patentable scope of certain embodiments of the technology is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
Claims
CLAIMSWhat is claimed is:
1. A system for controlling a smart locker, comprising: one or more processors; a non-transitory memory in communication with the one or more processors and storing instructions, that when executed by the one or more processors, are configured to cause the system to: receive, from a user device, a transaction request comprising an item identifier and a smart locker identifier associated with the smart locker; generate a quick response (QR) code based at least in part on the transaction request; receive location data from the user device; responsive to the user device scanning the QR code and determining that the user device is within a predetermined distance to the smart locker based at least in part on the location data from the user device, transmit instructions to the user device to display a software application button on the user device; receive, from the user device, a signal indicative of a user of the user device interacting with the software application button on the user device; and transmit instructions to the smart locker to cause the smart locker to transition from a locked state to an unlocked state.
2. A system for controlling a smart locker, comprising: one or more processors; a non-transitory memory in communication with the one or more processors and storing instructions, that when executed by the one or more processors, are configured to cause the system to: receive, from a user device, a return request comprising an item identifier and a smart locker identifier associated with the smart locker; generate a quick response (QR) code based at least in part on the return request; receive location data from the user device;responsive to the user device scanning the QR code and determining that the user device is within a predetermined distance to the smart locker based at least in part on the location data from the user device, transmit instructions to the user device to display a software application button on the user device; receive, from the user device, a signal indicative of a user of the user device interacting with the software application button on the user device; transmit instructions to the smart locker to cause the smart locker to transition from a locked state to an unlocked state; transmit instructions to the smart locker to cause an image capture device associated with the smart locker to capture one or more images; receive and store the one or more images from the smart locker; receive, from one or more sensors associated with the smart locker, an indication that the item associated with the item identifier is placed within the smart locker; and responsive to the indication, transmit instructions to the smart locker to transition from the unlocked state to the locked state.
3. The system of claim 2, wherein the instructions, when executed by the one or more processors, are configured to cause the system to: determine, based at least on the one or more images captured by the image capture device and data collected by the one or more sensors associated with the smart locker, a condition score of the item associated with the item identifier; and determine whether the item requires maintenance or replacement based at least in part on the condition score.
4. A system for managing inventory in a smart locker, comprising: one or more processors; a non-transitory memory in communication with the one or more processors and storing instructions, that when executed by the one or more processors, are configured to cause the system to: receive a first indication from a door lock associated with the smart locker that the smart locker has been opened;transmit instructions causing an image capture device associated with the smart locker to capture one or more images responsive to the first indication; receive a second indication from one or more item sensors associated with the smart locker that an item has been removed from the smart locker; and update an item database to indicate that the item has been removed from the smart locker based at least in part on the second indication.
5. A system for remotely operating a smart locker, comprising: one or more processors; a non-transitory memory in communication with the one or more processors and storing instructions, that when executed by the one or more processors, are configured to cause the system to: receive a first input from a physical button in communication with the one or more processors; responsive to the first input, cause one or more item sensors each associated with a plurality of smart lockers to determine a first inventory count for each of the plurality of smart lockers; identify a first smart locker of the plurality of smart lockers comprising one or more items; cause the first smart locker to transition from a locked state to an unlocked state; transmit a signal to the physical button to indicate to a user of the button that the first smart locker is in the unlocked state; receive a first indication from a door lock associated with the first smart locker that a door of the first smart locker has been opened; receive a second indication from the door lock that the door has been closed; in response to the second indication, cause the one or more item sensors associated with the first smart locker to determine a second inventory count; and cause the physical button to display the second inventory count for the first smart locker.
6. The system of claim 5, wherein the instructions, when executed by the one or more processors, arc configured to cause the system to: receive a second input from the physical button; responsive to the second input cause the one or more item sensors associated with each smart locker of plurality of smart lockers to determine a third inventory count; identify one or more smart lockers of the plurality of smart lockers that require a restock of one or more items based on the third inventory count; and cause the one or more smart lockers of the plurality of smart lockers to transition from a locked state to an unlocked state to facilitate restocking.
7. A system for controlling a smart locker, comprising: one or more processors; a non-transitory memory in communication with the one or more processors and storing instructions, that when executed by the one or more processors, are configured to cause the system to: receive, from a user device, a transaction request comprising an item identifier and a smart locker identifier associated with the smart locker; generate a quick response (QR) code based at least in part on the transaction request; receive location data from the user device; responsive to the user device scanning the QR code and determining that the user device is within a predetermined distance to the smart locker based at least in part on the location data from the user device, transmit instructions to the user device to display a software application button on the user device; receive, from the user device, a signal indicative of a user of the user device interacting with the software application button on the user device; transmit instructions to the smart locker to cause the smart locker to transition from a locked state to an unlocked state; receive item sensor data from one or more item sensors associated with the smart locker; and update inventory information associated with the smart locker.
Citation Information
Patent Citations
Smart Locker
US20180165902A1
Mobile kiosk for intelligent securable devices system
US20190035186A1
Storage compartment coordination and tracking
US20210117875A1
Method and system for controlling a storage apparatus
US20210272059A1
Remote rental management system and method
WO2021163353A1
Cited By
Smart item drop-off
EP4807643A1
Smart item pick-up
EP4807644A1