Positioning using electronic shelf label (ESL) fingerprint
Patent Information
- Application Number
- CN202480076241.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-06
- Filing Date
- 2024-10-30
- Publication Date
- 2026-09-11
AI Technical Summary
然而,用于室内定位的传统指纹识别技术存在许多缺点,包括缺乏可缩放性以及缺乏估计定位的准确度
Smart Images

Figure CN122743771A_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims the benefit of U.S. Patent Application No. 18 / 531,526, filed December 6, 2023, entitled “POSITION LOCATION USINGELECTRONIC SHELF LABEL (ESL) FINGERPRINTS”, the entire contents of which are expressly incorporated herein by reference. Technical Field
[0003] All aspects of this disclosure relate in general to electronic shelf label (ESL) systems, and more specifically to methods and systems for locating user equipment in an indoor environment using an ESL system deployed within that environment. Background Technology
[0004] Retail stores typically use paper labels to display information about products on shelves, such as price, discount rates, unit cost, and country of origin. Using such paper labels for price display has limitations. For example, when product information or location on the shelf changes, retailers must generate new paper labels and discard the old ones. This increases maintenance costs for both supply chain and employee labor. Furthermore, from an environmental perspective, replacing labels wastes raw materials such as paper, negatively impacting environmental protection. Moreover, human error is common, such as mislabeling shelves or products or forgetting to make temporary price changes on certain shelves, leading to shopper frustration.
[0005] Electronic shelf label (ESL) devices are electronic devices used to display prices or other relevant information about items on retail store shelves, and can be used in place of paper labels. ESL devices can be attached to the front edge of a retail shelf and use a display device, such as a liquid crystal display (LCD), to display various information. ESL devices can be programmed with new product information whenever information about a product or its location changes. Therefore, the same electronic shelf label can be reused. Individual ESL devices or nodes in an ESL system can be equipped with Bluetooth Low Energy (BLE) radio components, which can be used to estimate the location of BLE-enabled devices based on the known locations of nearby ESL devices within an indoor environment, such as a retail environment associated with a retail store or distribution warehouse. Fingerprint recognition has been widely considered a potential solution for location estimation in such environments. However, traditional fingerprint recognition technologies for indoor positioning have several drawbacks, including a lack of scalability and a lack of accuracy in estimating location. Summary of the Invention
[0006] The following summary outlines some aspects of this disclosure to provide a basic understanding of the techniques discussed. This summary is not an exhaustive overview of all the intended features of this disclosure, nor is it intended to identify key or essential elements of all aspects of this disclosure, nor to define the scope of any or all aspects of this disclosure. The sole purpose of this summary is to present, in a general form, some concepts of one or more aspects of this disclosure as a prelude to the more detailed description that follows.
[0007] ESL devices deployed within an environment (such as a retail environment associated with a retail store or distribution warehouse) in an Electronic Shelf Label (ESL) system can be used to provide different kinds of information and services to various users of the ESL system, such as shoppers or store staff. For example, an ESL device operating on a wireless network as part of an ESL system can support indoor positioning services to identify the corresponding location of the ESL device within the environment (e.g., on a shelf in a display case within a retail store). ESL devices and other devices or components of an ESL system can represent different nodes of the ESL system's infrastructure (or "ESL infrastructure"). As another example, an ESL system can support location services to identify the location of a user (or user device) and / or other devices or objects within the environment.
[0008] As another example, an ESL system can be used to provide positioning technologies that determine the location of a target device in an environment based on fingerprint measurements of positioning signals exchanged between different nodes of an ESL infrastructure deployed at known locations within the environment. The target device can be, for example, a mobile device belonging to a user (e.g., a retail store worker or customer) or a low-power environmental device located within the environment (e.g., an Internet of Things (IoT) tag placed on a product or other object). Nodes of the ESL infrastructure can include any variety of devices or components of an ESL system deployed within the environment. Examples of such infrastructure nodes include, but are not limited to, ESL devices, access points, one or more gateway nodes, and exciter devices for powering other infrastructure nodes via wired or wireless networks. Each node of the ESL infrastructure can collect fingerprint measurements based on positioning signals transmitted by other nodes during one or more time periods. The set of measurements collected by each node can represent a “fingerprint” of that node’s signal reception characteristics at a known location within the environment relative to the signal reception characteristics of other nodes at other known locations within the environment.
[0009] As will be described in further detail below, the server of an ESL system can store the fingerprint (or set of fingerprint measurements) of each node along with the node's known location in a fingerprint database. The server can then use the fingerprint database to locate a target device within the environment. For example, the server can determine the location of a target device by matching the location measurements received from the target device with the fingerprint measurements stored in the fingerprint database for at least one node of the ESL infrastructure deployed at a known location within the environment. In this example, the location of the target device may correspond to the known location of at least one node for which the corresponding fingerprint measurement stored in the fingerprint database matches the location measurement received from the target device.
[0010] The example implementation provides a system and method for location fingerprinting using nodes of ESL infrastructure deployed within an environment.
[0011] In one aspect of this disclosure, a method includes: receiving signal measurements of at least a first subset of ESL nodes near a target device from a server that manages electronic shelf tag (ESL) nodes; identifying at least one ESL node among ESL nodes that meet criteria based on the signal measurements; and determining the location of the target device based on a location subset including the location associated with the at least one ESL node.
[0012] In an additional aspect of this disclosure, an apparatus includes a memory storing processor-readable code and at least one processor coupled to the memory. The at least one processor is configured to execute the processor-readable code to cause the at least one processor to perform operations including: receiving signal measurements of at least a first subset of electronic shelf label (ESL) nodes near the target device; identifying at least one ESL node among those satisfying criteria based on the signal measurements; and determining the location of the target device based on a subset of locations including locations associated with the at least one ESL node.
[0013] In an additional aspect of this disclosure, a non-transitory computer-readable medium stores instructions that, when executed by a processor, cause the processor to perform operations. These operations include: receiving signal measurements of at least a first subset of electronic shelf tag (ESL) nodes near the target device; identifying at least one ESL node among those satisfying criteria based on the signal measurements; and determining the location of the target device based on a subset of locations including the location associated with the at least one ESL node.
[0014] In an additional aspect of this disclosure, an Electronic Shelf Label (ESL) system includes ESL nodes and a server, the server including: a memory; and at least one processor coupled to the memory and configured to perform operations including: receiving signal measurements of at least a first subset of electronic shelf label (ESL) nodes near the target device; identifying at least one ESL node among ESL nodes that meet criteria based on the signal measurements; and determining the location of the target device based on a subset of locations including locations associated with the at least one ESL node.
[0015] The features and technical advantages of the examples according to this disclosure have been summarized rather extensively above in order to better understand the detailed description below. Additional features and advantages will be described below. The disclosed concepts and specific examples can be readily utilized as the basis for modifying or designing other structures for achieving the same purpose of this disclosure. Such equivalent constructions do not depart from the scope of the appended claims. The characteristics of the concepts disclosed herein (both their organization and manner of operation) and the associated advantages will be better understood from the following description when considered in conjunction with the accompanying drawings. Each figure in the drawings is provided for illustrative and descriptive purposes and not as a limitation of the definitions in the claims.
[0016] Devices, networks, and systems can be configured to communicate via one or more portions of the electromagnetic spectrum. This disclosure describes certain aspects with reference to certain communication technologies, such as Bluetooth or Wi-Fi. However, this description is not intended to limit one to any particular technology or application, and one or more aspects described with reference to one technology may be understood to be applicable to another technology. Furthermore, it should be understood that, in operation, wireless communication networks adapted according to the concepts herein may operate using any combination of licensed or unlicensed spectrum, depending on load and availability. Therefore, it will be apparent to those skilled in the art that the systems, apparatuses, and methods described herein can be applied to other communication systems and applications besides the specific examples provided.
[0017] For example, the specific implementation described can be implemented in any device, system, or network capable of transmitting and receiving RF signals according to any of the following wireless communication standards: including any of the IEEE 802.11 standards, IEEE 802.15.1, and Bluetooth. ®Standards, Bluetooth Low Energy (BLE), Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Global System for Mobile Communications (GSM), GSM / General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunking Radio (TETRA), Wideband CDMA (W-CDMA), Evolved Data Optimized (EV-DO), 1×EV-DO, EV-DO Revision A, EV-DO Revision B, High-Speed Packet Access (HSPA), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Evolved High-Speed Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, 5G New Radio (5G NR), 6G, or other known signals used for communication within wireless networks, cellular networks, or Internet of Things (IoT) networks (such as systems utilizing 3G, 4G, 5G, or 6G technologies or further specific implementations thereof).
[0018] In various specific implementations, technologies and devices can be used in wireless communication networks such as Code Division Multiple Access (CDMA) networks, Time Division Multiple Access (TDMA) networks, Frequency Division Multiple Access (FDMA) networks, Orthogonal FDMA (OFDMA) networks, Single Carrier FDMA (SC-FDMA) networks, LTE networks, GSM networks, 5th Generation (5G) or New Radio (NR) networks (sometimes referred to as "5G NR" networks, systems, or devices), and other communication networks. As described herein, the terms "network" and "system" are used interchangeably and can refer to a collection of devices capable of communicating with each other via one or more communication technologies.
[0019] While aspects and implementations are described herein by way of example, those skilled in the art will understand that additional implementations and use cases may arise in many different arrangements and scenarios. The innovations described herein can be implemented across many different platform types, devices, systems, shapes, sizes, or package arrangements. For example, implementations or uses may be achieved via integrated chip implementations or other devices based on non-modular components (e.g., end-user devices, vehicles, communication devices, computing devices, industrial equipment, retail or purchasing devices, medical devices, AI-enabled devices, etc.).
[0020] The scope of implementations can range from chip-level or modular components to non-modular, non-chip-level implementations, and further to aggregated, distributed, or original equipment manufacturer (OEM) devices or systems that incorporate one or more of the described aspects. In some settings, devices incorporating the described aspects and features may also include additional components and features for implementing and practicing the claimed and described aspects. The innovations described herein are expected to be practiced in a wide variety of implementations of different sizes, shapes, or constructions, including both large and small devices, chip-level components, multi-component systems (e.g., radio frequency (RF) chains, communication interfaces, processors), distributed arrangements, end-user equipment, etc.
[0021] In the following description, numerous specific details (such as examples of specific components, circuits, and processes) are set forth to provide a thorough understanding of this disclosure. As used herein, the term "coupled" means a direct connection or a connection via one or more intermediate components or circuits. Furthermore, specific terminology is set forth in the following description and for purposes of explanation to provide a thorough understanding of this disclosure. However, it will be apparent to those skilled in the art that practicing the teachings disclosed herein may not require these specific details. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the teachings of this disclosure.
[0022] Certain portions of the following detailed description are presented using other symbolic representations of procedures, logic blocks, processes, and data bit operations within computer memory. In this disclosure, procedures, logic blocks, processes, etc., are conceived as a self-consistent sequence of steps or instructions that produce a desired result. These steps are those that require physical operations on physical quantities. Although not strictly necessary, these physical quantities typically take the form of electrical or magnetic signals that can be stored, transferred, combined, compared, and otherwise manipulated within a computer system.
[0023] In the accompanying drawings, a single block can be described as performing one or more functions. The one or more functions performed by this block can be performed in a single component or across multiple components, and / or can be performed using hardware, software, or a combination of hardware and software. To clearly illustrate this interchangeability between hardware and software, various exemplary components, blocks, modules, circuits, and steps are described below in general terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the system as a whole. Those skilled in the art can implement the described functionality in different ways for each specific application, but such specific implementation decisions should not be construed as causing a departure from the scope of this disclosure. Additionally, the example device may include components other than those shown, including well-known components such as processors, memory, etc.
[0024] Unless otherwise specifically stated, it will be apparent from the following discussion that, throughout this application, the use of terms such as “access,” “receive,” “transmit,” “use,” “select,” “determine,” “normalize,” “multiply,” “average,” “monitor,” “compare,” “apply,” “update,” “measure,” “derive,” “set,” and “generate” refers to the actions and processes of a computer system or similar electronic computing device that manipulate and transform data represented as physical (electronic) quantities in the registers and memories of the computer system into other data similarly represented as physical quantities in the registers, memories, or other such information storage, transmission, or display devices of the computer system.
[0025] The terms "device" and "apparatus" are not limited to one or a specific number of physical objects (such as a smartphone, a camera controller, a processing system, etc.). As used herein, a device can be any electronic device having one or more components that can implement at least some parts of this disclosure. Although the term "device" is used in the following description and examples to describe various aspects of this disclosure, the term "device" is not limited to a particular configuration, type, or number of objects. As used herein, an apparatus can include a device or part of a device for performing the described operations.
[0026] As used herein (including the claims), the term "or" in a list of two or more items means that any one of the listed items may be used alone, or any combination of two or more listed items may be used. For example, if a device is described as containing components A, B, or C, the device may contain A alone; B alone; C alone; a combination of A and B; a combination of A and C; a combination of B and C; or a combination of A, B, and C.
[0027] Additionally, as used herein (including the claims), the word “or” in a list of items beginning with “at least one of” indicates a separate list such that a list such as “at least one of A, B or C” refers to A or B or C or AB or AC or BC or ABC (i.e., A and B and C) or any combination of any of these items.
[0028] Additionally, as used herein, the term “substantially” is defined as being largely but not necessarily entirely what is specified (and includes what is specified; for example, substantially 90 degrees includes 90 degrees and substantially parallel includes parallel), as understood by one of ordinary skill in the art. In any specific implementation of the disclosure, the term “substantially” may be used in place of the specified content within “[percentage]”, where percentage includes 0.1%, 1%, 5%, or 10%.
[0029] Additionally, as used herein, relative terms, unless otherwise specified, can be understood as a quantity relative to a reference. For example, terms such as “higher” or “lower” or “more” or “less” can be understood as a threshold amount higher, lower, more, or less than a reference value. Attached Figure Description
[0030] A further understanding of the nature and advantages of this disclosure can be achieved by referring to the following figures. In the figures, similar components or features may have the same reference numerals. Furthermore, various components of the same type can be distinguished by adding a dash after the reference numerals and a second reference numeral for differentiation between similar components. If only the first reference numeral is used in the specification, the description applies to any one of the similar components having the same first reference numeral, regardless of the second reference numerals.
[0031] Figure 1A This is a block diagram illustrating a perspective view of an example electronic shelf label (ESL) system in a retail environment according to some embodiments of this disclosure.
[0032] Figure 1B It is based on some implementation schemes of this disclosure. Figure 1A A top-view block diagram of the ESL system.
[0033] Figure 1C These are examples of some implementation schemes according to this disclosure. Figure 1A and Figure 1B A diagram illustrating an example ESL device in an ESL system.
[0034] Figure 2A This is a perspective view of a display shelf including shelves with ESL devices, according to some embodiments of this disclosure, which are used to display information about products available for selection by a user in a retail environment.
[0035] Figure 2B Based on some implementation schemes of this disclosure and Figure 2A A top view of the sample product area corresponding to the aisle between two display shelves in a retail environment.
[0036] Figure 3 This is a timing diagram illustrating a time-division multiplexing scheme for scheduling communication between different nodes of an ESL infrastructure, according to some embodiments of this disclosure.
[0037] Figure 4 This is a block diagram illustrating an example configuration of an ESL device according to some embodiments of this disclosure.
[0038] Figure 5This is a block diagram of an example server for location fingerprinting using nodes of an ESL infrastructure deployed within an environment, according to some embodiments of this disclosure.
[0039] Figure 6 This is an illustration of an example of a time-division and frequency-division multiplexing scheme applied to a group of nodes in an ESL infrastructure deployed within an environment to save power during fingerprinting, according to some embodiments of this disclosure.
[0040] Figure 7 This is a flowchart of an example method for location fingerprinting using nodes of an ESL infrastructure deployed within an environment, according to some embodiments of this disclosure.
[0041] The same reference numerals and names in different figures denote the same elements. Detailed Implementation
[0042] The detailed description set forth below in conjunction with the accompanying drawings is intended as a description of various configurations and is not intended to limit the scope of this disclosure. Rather, the detailed description includes specific details for providing a thorough understanding of the subject matter of the invention. It will be apparent to those skilled in the art that these specific details are not necessary in every situation, and in some instances, well-known structures and components are shown in block diagram form for clarity.
[0043] This disclosure provides systems, apparatus, methods, and computer-readable media that support indoor positioning of various devices or objects within indoor environments, such as retail environments associated with retail stores or distribution warehouses. In some embodiments, an Electronic Shelf Label (ESL) system may be deployed within the environment to monitor assets (e.g., product location), track inventory, and provide indoor positioning and navigation services to users within the environment (e.g., customers or store clerks). An ESL system may include ESL devices densely deployed across multiple display shelves throughout the environment. For example, each display shelf may include multiple shelves, and each shelf may include one or more ESL devices, for example, to display pricing and other relevant information about the products placed on the shelf.
[0044] In some implementations, each display shelf may also include an exciter device that serves as a power source for supplying power to the ESL devices on the shelf via a wired or wireless connection. Such an exciter may be a dedicated wireless device mounted on the shelf, broadcasting an excitation waveform to be collected as usable energy by the ESL devices and other environmental devices in the surrounding area (such as Internet of Things (IoT) tags) that do not have their own power sources. The exciter itself may be powered by a battery or other power source. The ESL devices, exciters, and other devices (such as access points) of an ESL system can represent different nodes in the infrastructure of the ESL system (or "ESL infrastructure").
[0045] Specific embodiments of the subject matter described in this disclosure may be implemented to achieve one or more of the following potential advantages or benefits. In some aspects, this disclosure provides techniques for wireless communication systems that may be particularly beneficial in ESL applications for indoor positioning. For example, the disclosed techniques can be used to build and maintain a scalable database of fingerprint measurements based on positioning signals exchanged between different nodes of an ESL infrastructure deployed at known locations within an environment (e.g., a retail environment). Such a database may include a set of measurements collected by each node of the ESL infrastructure based on positioning signals transmitted by other ESL infrastructure nodes. The set of measurements for each infrastructure node stored in the database may represent a “fingerprint” of that node’s signal transmission and reception characteristics at a known location within the environment relative to other nodes of the ESL infrastructure.
[0046] In some implementations, the server of the ESL system can use such a fingerprint database to provide indoor positioning services for target devices (e.g., mobile devices or IoT tags) associated with users or products within the environment. For example, the server can determine the location of a target device by matching a positioning measurement received from the target device with fingerprint measurements stored in the fingerprint database for at least one node of the ESL infrastructure deployed at a known location within the environment. In this example, the location of the target device may correspond to the known location of at least one node for which a corresponding fingerprint measurement stored in the fingerprint database matches the positioning measurement received from the target device. Nodes of the ESL infrastructure can include any of the various devices or components of the ESL system deployed within the environment. Examples of such infrastructure nodes include, but are not limited to, ESL devices, access points, one or more gateway nodes, and actuator devices for powering other infrastructure nodes via wired or wireless networks.
[0047] By using dedicated devices or nodes deployed within the ESL infrastructure of the environment, the disclosed fingerprinting technology is more scalable than conventional survey-based fingerprinting methods. Furthermore, by coordinating the transmission and measurement of location signals exchanged between different ESL infrastructure nodes to mitigate signal interference, fingerprinting measurements obtained using the disclosed technology are less susceptible to noise, thus producing a more accurate estimate of the target device's location within the environment compared to locations obtained using conventional techniques.
[0048] The terms “fingerprinting” and “location fingerprinting” are used interchangeably herein to broadly and inclusively refer to the process of using past or previously acquired measurements of location signals as a basis for estimating the location of a device or object within an environment. Fingerprinting typically involves recording location measurements that serve as a baseline of signal reception characteristics associated with a known location within the environment. Such baseline measurements can provide a reference point that can later be used to locate a device (or “target device”) within the environment based on measurements received from the target device that match the previous baseline measurements.
[0049] The terms “environment” and “retail environment” are used interchangeably herein to broadly and inclusively refer to any physical space or layout (e.g., within a physical “physical” retail store or distribution warehouse) in which a business operates (e.g., to provide products or services to customers). References will be made below. Figure 1A and Figure 1B Examples of such environments are described in further detail.
[0050] Figure 1A This is a perspective block diagram illustrating an example ESL system 100 in a retail environment according to some embodiments of this disclosure. Figure 1A As shown, the ESL system 100 can be deployed across multiple aisles of display shelves 112A to 112H within a retail environment 110. The retail environment 110 may include, for example, the retail floor space of a retail store. As will be described in further detail below, each of the display shelves 112A to 112H may include one or more shelves to which multiple ESL devices are attached. The ESL devices can be used to display pricing and / or other information related to products located on the shelves. Each ESL device may include one or more wireless radio components for transmitting and receiving information via a wireless network. Such radio components may support any of a variety of wireless communication standards and technologies. Examples of such technologies include, but are not limited to, Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), 5G NR, Ultra Wideband (UWB), and other RF technologies.
[0051] The following text will refer to Figure 1BIn further detail, cameras may be mounted on or near the ends of display shelves 112A to 112H to capture different views of aisles and / or other paths around the areas of display shelves 112A to 112H. Additionally, overhead (OTT) cameras 102A to 102D (or collectively referred to as “OTT cameras 102”) may be positioned at different overhead locations throughout the retail store to capture a larger area of the retail environment 110. In some implementations, OTT cameras 102 may be part of a separate surveillance system for the retail store for security and monitoring purposes.
[0052] In some implementations, images and / or videos captured by OTT camera 102 and / or those captured by shelf cameras on display shelves 112A to 112H can be used as Visual Channel State Information (CSI) to reduce (if not resolved) any errors or ambiguities detected in the location of BLE device 124 within retail environment 110. BLE device 124 can be, for example, a mobile device belonging to a user (e.g., a customer or employee of the retail store). Alternatively, BLE device 124 can be an environmental IoT tag associated with a product or user within retail environment 110. BLE device 124 may be equipped with BLE radio components for receiving low-power beacon signals transmitted by ESL devices attached to display shelves 112A to 112H. In some specific implementations, radio frequency (RF) measurements of signals received by BLE device 124 from nearby ESL devices can be provided to a management server of ESL system 100 to determine the location of BLE device 124 within one or more areas of retail environment 110.
[0053] Figure 1B It is based on some implementation schemes of this disclosure. Figure 1A A top-view block diagram of the ESL system 100. (See diagram below.) Figure 1B As shown, the ESL system 100 may also include a management server 122 integrated with or coupled to the gateway node 120. The management server 122 may include at least one processor coupled to memory, wherein the at least one processor is configured to execute computer program code stored on a computer-readable medium to cause the management server 122 to perform operations related to managing and controlling ESL devices 108A to 108D, access points (APs) 106A and 106B, gateway node 120, and / or other components of the ESL system 100. In some embodiments, the management server 122 may perform operations for locating ESL devices (including ESL devices 108A to 108D) in environment 110 based at least in part on visual data acquired by the camera of BLE device 124 during surveying of environment 110, as will be referenced below. Figures 5 to 7 Further detailed description.
[0054] Gateway node 120 can communicate with access points (APs) 106A and 106B. Although in Figure 1B The example shows only two APs, but ESL system 100 may include fewer or more APs. AP 106A and AP 106B can communicate with gateway node 120 via a first communication network (wired or wireless). AP 106A and AP 106B can also communicate with ESL devices 108A to 108D via a second communication network. In some implementations, the first and second communication networks can be different networks. For example, the first communication network (e.g., between AP 106A and gateway node 120) can be a Wi-Fi network, and the second communication network (e.g., between AP 106A and ESL device 108A) can be a Bluetooth network. In some specific implementations, AP 106A and AP 106B (and other components of ESL system 100) can be part of the wireless infrastructure of retail environment 110 supporting one or more wireless technologies (e.g., Wi-Fi, Bluetooth, BLE, and / or UWB).
[0055] In some implementations, each of AP 106A and AP 106B may communicate with a subset of ESL devices 108A to 108D located in a geographic area assigned to that AP, for example, based on the location of the AP relative to each ESL device and / or the AP's signal coverage area. For example, a retail environment 110 may be divided into two equal-sized geographic areas, each covering approximately half of the entire retail environment 110. AP 106A may be assigned to geographic area 110A, and AP 106B may be assigned to geographic area 110B. Thus, AP 106A may communicate with ESL devices 108A and 108B located in geographic area 110A, and AP 106B may communicate with ESL devices 108C and 108D located in geographic area 110B.
[0056] Bluetooth technology provides a secure way to connect and exchange information between electronic devices such as smartphones, other cellular phones, headsets, earphones, smartwatches, laptops, wearable devices, and / or shelf tags. Bluetooth communication can include establishing wireless personal area networks (PANs) (also known as “self-organizing” networks or “peer-to-peer” networks). These self-organizing networks are often called “piconet”. Each device can belong to multiple piconet. Multiple interconnected piconet can be called a distributed network. A distributed network can be formed when members of a first piconet choose to participate in a second piconet. Figure 1BIn the example, ESL devices 108A and 108C can be in a piconet with AP 106A.
[0057] Because many services offered via Bluetooth may expose private data or allow connected parties to control connected devices, Bluetooth networks may require devices to first establish a "trust relationship" before being allowed to exchange private data with each other. This trust relationship can be established using a process called "pairing," in which a bond is formed between the two devices. This bond allows the devices to communicate with each other in the future without further authentication. Therefore, Figure 1B ESL device 108A can be paired with AP 106A in this manner. The pairing process can be automatically triggered whenever the device is powered on or moves within a certain distance of another Bluetooth device. Pairing information associated with current and previously established pairings can be stored in a Paired Device List (PDL) in the memory of the Bluetooth devices (such as ESL device 108A and / or AP 106A). This pairing information may include a name field, an address field, a link key field, and other similar fields (such as "profile" type) used for authenticating the device or establishing a Bluetooth communication link. When, for example, a power outage causes ESL system 100 to reset, the pairing information allows ESL device 108A to automatically reconnect to AP 106A.
[0058] Bluetooth “profiles” describe the general behavior of Bluetooth-enabled devices when communicating with other Bluetooth devices. For example, a Hands-free profile (HFP) describes how a Bluetooth device (such as a smartphone) can make and receive calls to another Bluetooth device, and an Advanced Audio Distribution Profile (A2DP) describes how stereo-quality audio can be streamed from a first Bluetooth device (such as a smartphone) to another Bluetooth device (such as an earphone). ESL devices 108A to 108D can be configured with ESL profiles conforming to, for example, the Electronic Shelf Label Profile Specification v1.0 dated March 28, 2023, which is incorporated herein by reference. ESL profiles can specify how AP 106A can use one or more ESL services exposed by ESL device 108A.
[0059] In some implementations, management server 122 may include or be coupled to a database that stores and manages information about inventory (e.g., products) and other assets (ESL devices 108A to 108D and other components of ESL system 100) in retail environment 110. Management server 122 may include or be coupled to a database that stores and manages various information used in the operation of retail stores or distribution warehouses. Such information may include product information about products displayed in stores and location, layout, and other relevant information associated with each component of ESL system 100 (including ESL devices 108A to 108D and each of AP 106A and AP 106B). In some specific implementations, the database may be part of an enterprise resource planning (ERP) inventory management system associated with retail environment 110. The ERP inventory management system may be implemented separately from or as part of ESL system 100.
[0060] In some implementations, management server 122 can generate command messages and send these command messages to ESL devices 108A to 108D via the first communication network described above. Management server 122 can use the command messages to perform various functions in ESL system 100, such as synchronizing, updating, and changing product information displayed on ESL devices 108A to 108D. Management server 122 can obtain product information from a product database provided for ESL devices 108A to 108D. That is, management server 122 may have a database that stores identification information associated with ESL devices 108A to 108D and product information to be displayed on the corresponding device in ESL devices 108A to 108D.
[0061] Command messages (e.g., product information change messages or management information retrieval messages) created by management server 122 can be transferred to gateway node 120 as part of a packet suitable for use with a communication scheme. Furthermore, management server 122 can use the communication scheme to receive reception acknowledgment messages transmitted from gateway node 120. In some cases, the acknowledgment message may be converted into a message format suitable for reception by management server 122 before being transferred by gateway node 120. In some embodiments, command messages sent by management server 122 via gateway node 120 may include commands for configuring different devices or nodes of the ESL infrastructure (including AP 106A and AP 106B and ESL devices 108A to 108D) for scheduling the transmission and measurement of location signals among nodes during the fingerprinting process. As will be described in further detail below, measurements collected by each node of the ESL infrastructure during the fingerprinting process can be used to build and maintain a fingerprint database, which can then be used by management server 122 to determine the location of a target device (e.g., BLE device 124) within environment 110.
[0062] Despite Figure 1B Only one gateway node 120 is shown, but the ESL system 100 may include several such gateway nodes communicating with the management server 122. Each gateway node 120 analyzes the data received from the management server 122, confirms the presence or absence of a message or data to be transmitted to one or more of the ESL devices 108A to 108D, and then transmits the confirmed message or data to the appropriate ESL device. For example, gateway node 120 may configure messages to be transmitted to ESL device 108A into packets according to a communication scheme, and transmit the configured packets to ESL device 108A by commanding AP 106A to send the packets. Furthermore, gateway node 120 may forward reception acknowledgments received from ESL device 108A via AP 106A to the management server 122.
[0063] In some implementations, each of the ESL devices 108A to 108D may be configured with memory, a microprocessor, and other components (such as wireless radio components) for performing various operations. Reference will be made below. Figure 4 An example of configuring such an ESL device is described in further detail.
[0064] Each of ESL devices 108A to 108D may also include a display, such as a liquid crystal display (LCD) or an e-ink display, for displaying data about products located on the shelf to which the corresponding ESL device is attached. Information displayed by each of the ESL devices 108A to 108D can be received from the gateway node 120. ESL devices 108A to 108D may change price information or be activated or deactivated while communicating with the gateway node 120. The store manager may transmit commands to the management server 122 regarding the synchronization of products with designated ESL devices and / or commands for correcting information about products assigned to specific ESL devices. Figure 1C An example of an ESL device 108B is shown, which has a display device for displaying product information such as product description, product image, product price, product barcode, product rating, product stock keeping unit (SKU) and / or product link (e.g., URL or QR code).
[0065] In some implementations, a video surveillance system may be included as part of ESL system 100 or used to enhance the capabilities of ESL system 100. As described above, cameras may be mounted on or near shelves at the ends of display shelves 112A to 112H to capture different views of aisles between display shelves 112A to 112H and / or other paths around the areas of display shelves 112A to 112H. For example, shelf cameras 104A to 104D may be positioned to have a field of view capturing one or more shelves of one or more of display shelves 112A to 112H. Shelf cameras 104A to 104D may be used to assist in tracking inventory levels and / or identifying items picked by users in the environment. Additionally, as described above, OTT cameras 102A to 102D may be positioned to have a field of view capturing a large area of the retail environment 110. Visual information (e.g., images and / or videos) captured by OTT cameras 102A to 102D and shelf cameras 104A to 104D can be sent to management server 122 for processing.
[0066] In some implementations, management server 122 can apply object recognition models or algorithms to image frames received from OTT cameras 102A to 102D and / or shelf cameras 104A to 104D to determine the presence or count of people and objects (including products on shelves and ESL devices) within the field of view of the respective cameras. For example, OTT cameras 102A to 102D and / or shelf cameras 104A to 104D can be used to support the determination of the location of ESL devices 108A to 108D and / or other devices or nodes in the ESL infrastructure (e.g., AP 106A and AP 106B) within the retail environment 110.
[0067] As described above, the retail environment 110 associated with ESL system 100 may include multiple ESL devices (including ESL devices 108A to 108D) organized on shelves in display cases throughout the environment 110. Figure 2A The image shows an example illustration of such a display shelf with ESL equipment.
[0068] Figure 2A This is a perspective view of a display shelf 112A with ESL devices arranged on various shelves according to some embodiments of this disclosure. The display shelf 112A may include multiple shelves 202A to 202E at different vertical levels from the floor. ESL devices and other devices of the ESL infrastructure may be attached to shelves 202A to 202E. For example, ESL device 108A may be attached to shelf 202A to display information about products stocked on shelf 202A near ESL device 108A. Furthermore, exciter 204 may be mounted on shelf 202E to power the ESL devices on display shelf 112A and / or other environmental devices (e.g., IoT tags attached to products) located near exciter 204. In some specific embodiments, exciter 204 may be a wireless device that broadcasts radio waves or other excitation waveforms for powering ESL devices, environmental IoT tags, or other devices lacking their own power source through energy harvesting. For example, such environmental devices may include circuitry that harvests energy from the excitation waveforms transmitted by exciter 204. The environmental device can then use the collected energy to broadcast beacon signals for fingerprint recognition, location, and / or to provide other device-specific functionality.
[0069] ESL devices can provide information about products and / or location information to assist in location-based services for users within the environment (e.g., shoppers or store staff). Figure 2B This is a top view of a retail environment with user-accessible ESL equipment according to some embodiments of this disclosure. (e.g.) Figure 2B As shown, the display shelf 112A may include densely deployed ESL devices 208 (including... Figure 2A ESL equipment 108A), wherein adjacent ESL equipment can be evenly spaced along shelf 202A. Additional ESL equipment can be similarly positioned along other shelves of display shelf 112A and along shelves of display shelf 112B.
[0070] A user pushing shopping cart 212 through the aisle between display shelves 112A and 112B can use ESL device 208 to determine the location of a specific product. For example, a wireless device associated with shopping cart 212 and / or the user's mobile device (e.g., Figure 1A and Figure 1BThe BLE device 124 can use RF measurements of radio signals broadcast by the ESL device 208 (and / or other nearby ESL devices) to estimate the current location of the shopping cart 212 (and the user) in the environment and guide the user to the desired product location 210 on the appropriate shelf of the display shelf 112A.
[0071] In some implementations, communication between the AP and ESL devices in the ESL system (such as time division multiple access (TDMA) schemes) can be performed according to the scheme. Figure 1B Communication between AP 106A and ESL devices 108A to 108D of ESL system 100, such as... Figure 3 exemplified. Figure 3 This is a timing diagram illustrating a time-division multiplexing scheme 300 for scheduling communication between different nodes of an ESL infrastructure, according to some embodiments of this disclosure. The nodes in this example may include those deployed in an environment (e.g., as described above). Figure 1A and Figure 1B The APs and various ESL devices of the ESL system at known locations within the retail environment (110). Figure 3 As shown, the AP and each ESL device in the ESL system can be assigned a time period from among various time slots corresponding to different time slots used for sending or receiving information. It should be understood that a similar TDMA scheme can be used to schedule communication between different ESL devices.
[0072] In an ESL system with a large number of ESL devices, the ESL devices can be configured to communicate with APs in different groups, where each group can correspond to a different time frame. For example, Figure 3The first group of ESL devices (ESL1 to ESL5) can be configured to communicate with the AP during the first time frame 310, and the second group of ESL devices (ESL6 to ESL10) can be configured to communicate with the AP during the second time frame 320. The first time frame 310 and the second time frame 320 can alternate during the operation of the wireless network. In this example, the AP can send or broadcast information received by the first group of ESL devices during a first time period (or time slot) 302 in the first time frame 310. The ESL devices in the first group can send information to the AP during subsequent time periods / time slots in the time frame 310. For example, the first ESL device (ESL1) can send information received by the AP during time period 304A, while the other ESL devices (ESL2 to ESL5) in the group send information during time periods 304B to 304E in the time frame 310, respectively. Similarly, the AP can send information received by the second group of ESL devices during time period 306 in the second time frame 320. The ESL devices (ESL6 to ESL10) in this second group can transmit information received by the AP during the corresponding time periods 308A to 308E in time frame 320.
[0073] ESL devices may include components configured together to provide some or all of the functionalities described in this disclosure, as well as / or additional functionalities. Figure 4 This is a block diagram illustrating an example ESL device 400 according to some embodiments of the present disclosure. For example, the ESL device 400 can be used to implement the above-described... Figures 1A to 2B Each of the ESL devices (including ESL devices 108A to 108D) in the described ESL system 100. ESL device 400 may include a low-power microcontroller 410. Although the functionality of the ESL device may be configured by the microcontroller 410 in embodiments of this disclosure, any single processor or combination of processors (e.g., at least one processor) may be used to perform the functions described according to embodiments of this disclosure.
[0074] Microcontroller 410 may include memory 416. Memory 416 may store computer program code that causes microprocessor 414 to perform operations that implement some or all of the functionalities described with respect to various embodiments of this disclosure. Although shown as part of microcontroller 410, memory 416 may be located internally or externally to microcontroller 410. Microcontroller 410 may also include one or more wireless radio components 412. Wireless radio components 412 may include, for example, Bluetooth wireless radio components, which include a front end coupled to antenna 408 for transmitting and receiving radio frequency (RF) signals at one or more frequencies in one or more frequency bands. In some embodiments, microcontroller 410 is a system-on-a-chip (SoC), in which two or more components, including wireless radio component 412, microprocessor 414, and / or memory 416, are included in a single semiconductor package. In some embodiments, two or more components may be included on a single semiconductor die.
[0075] ESL device 400 may include I / O devices such as notification LED 402 and / or electronic display 404. Notification LED 402 may include one or more light-emitting diodes (LEDs), or other light sources configured to flash one or more colors. The notification LED may be triggered based on a command received from gateway node 120 to flash at a specific time and / or in a specific color. For example, notification LED 402 may flash to draw a user's attention to a specific location on a shelf. Electronic display 404 may be, for example, an e-ink display configured to output product information.
[0076] ESL device 400 may be coupled to battery 406 or other power sources to power operations performed by ESL device 400, such as operating wireless radio component 412, notification LED 402, electronic display 404, memory 416, and / or microprocessor 414. Battery 406 allows ESL device 400 to be placed in locations where a constant power supply is difficult to achieve. Therefore, to enable a single battery charge to provide long usage cycles (e.g., lasting longer than several years), ESL device 400 may be configured to reduce power consumption during periods when frequent commands are not expected. For example, ESL device 400 may operate using a wake-up communication scheme. That is, ESL device 400 wakes up at predetermined time intervals to determine if data is waiting to be received. When no data is waiting, power to ESL device 400 is turned off until the next wake-up cycle to reduce power consumption. When data is to be received or sent, ESL device 400 wakes up to perform communication operations. For example, ESL device 400 may respond to a gateway node of the ESL system (e.g., as described above). Figure 1BGateway node 120) or management server (e.g., Figure 1B The management server 122) receives a command message to wake up, as will be described in further detail below.
[0077] As described above, command messages sent by the management server may include commands for configuring various ESL devices and / or other devices of the ESL system during the fingerprint recognition process used to build the fingerprint database. These ESL devices and other devices or components of the ESL system (e.g., as described above) Figure 1B AP 106A and AP 106B and / or Figure 2A The trigger 204 can represent different nodes at known locations within the environment where the corresponding ESL infrastructure is deployed. See below for reference. Figures 5 to 7 In a more detailed description, the fingerprinting process may involve each node of the ESL infrastructure collecting measurements based on location signals transmitted by each of the other nodes during one or more time periods. The set of measurements collected by each node can represent a "fingerprint" of that node's signal reception characteristics at a known location within the environment.
[0078] The management server can store the fingerprint (or set of fingerprint measurements) of each node along with that node's known location in a fingerprint database for later access and retrieval. The fingerprint measurements associated with each node can represent a baseline set of real measurements, which can later be used to estimate or determine the location of a target device (e.g., a user's mobile device or an environmental IoT tag) within the environment. For example, location measurements received from a target device can be compared to the fingerprint measurements stored in the fingerprint database for each node. The target device's location can correspond to the node's known location, for which the fingerprint measurement most closely matches the location measurement received from the target device.
[0079] Please note that the above is a reference. Figures 1A to 4 One or more boxes (or operations) described can be referenced below. Figures 5 to 7 A combination of one or more boxes (or operations) described above. For the purposes of discussion, reference will be made below to the descriptions above. Figures 1A to 4 Describing the ESL system and / or environment's ESL devices and other components. Figures 5 to 7 Examples are provided. However, it should be understood that the disclosed fingerprint recognition technologies are not intended to be limited thereto, and these technologies can be applied to any of a variety of ESL systems and environments.
[0080] Figure 5This is a block diagram of an example server 500 for fingerprinting using nodes deployed within an ESL infrastructure environment, according to some embodiments of this disclosure. Server 500 can be used to implement, for example, fingerprinting using nodes deployed within an environment (e.g., as described above). Figure 1A and Figure 1B The management server of the ESL system within the retail environment 110 (e.g., as described above) Figure 1B The management server of the ESL system 100 (122). For example... Figure 5 As shown, server 500 includes network interface 510, fingerprint manager 520, and fingerprint database 530. Fingerprint manager 520 may include fingerprint recognition unit 522 and positioning unit 524.
[0081] As will be described in further detail below, server 500 and its components or sub-components (including fingerprint recognition unit 522 and positioning unit 524 of fingerprint manager 520) can use network interface 510 to communicate with various ESL infrastructure nodes 540 and target devices 550 located within the environment via a communication network. Such a network can be any network or combination of networks capable of carrying data communication according to any of a variety of communication standards. The network may include, but is not limited to, wired or wireless networks. The network may also include local area networks, medium area networks, or wide area networks, such as the Internet. Depending on the specific implementation requirements, the network and network interface 510 may support any of a variety of networking protocols and technologies. For example, although network interface 510 is shown as communicating directly with target device 550, server 500 can communicate with other components (such as APs) via network interface 510 to communicate with target device 550.
[0082] ESL infrastructure node 540 may include dedicated equipment or components of the ESL system infrastructure deployed within the environment. Examples of such infrastructure equipment include, but are not limited to, ESL devices (e.g., Figure 1B ESL devices 108A to 108D), access points (e.g., Figure 1B Access points 106A and 106B), and one or more gateway nodes (e.g., Figure 1B Gateway node 120) and actuator devices for powering other infrastructure nodes via wired or wireless networks (e.g., Figure 2A (Actuator 204). It can be assumed that the corresponding locations of these infrastructure devices are known. For example, when devices / nodes are deployed within the environment, the location of each infrastructure device or node may have been determined beforehand.
[0083] In some implementations, the known location of each infrastructure node can be a coarse location corresponding to a general zoning, zone, or other area (such as an aisle, display shelf, or shelf) of the environment in which the node is located. The coarse location can be manually entered into an ERP system during deployment (e.g., by store staff or automated robots, such as autonomous guided vehicles). In some cases, the coarse location can be used as an initial location estimate for the infrastructure node, which can be refined using any of a variety of positioning techniques. For example, in addition to visual information captured during environmental surveying by surveying equipment and / or other devices (e.g., one or more shelf cameras 104A to 104D and / or OTT cameras 102A to 102D), a more precise location for each infrastructure node can be determined based on a combination of RF measurements (e.g., Received Signal Strength Indicator (RSSI) values) collected for the node by the surveying equipment.
[0084] In some implementations, the fingerprinting unit 522 may use the network interface 510 of the server 500 to receive fingerprinting measurements from each of the ESL infrastructure nodes 540 deployed at known locations within the environment. The fingerprinting measurements received from each node may include various RF measurements of location signals transmitted by other nodes. In addition to measurements corresponding to the angle of arrival (AoA), time of arrival (ToA), and / or channel impulse response transmitted by each node from other nodes (such as all other infrastructure nodes deployed with that node in a specific area of the environment, such as a display shelf or its rack), the RF measurements may also include, for example, RSSI values. The fingerprinting unit 522 may store the fingerprinting measurements received from each of the nodes 540 along with the known location of that node in a fingerprint database 530.
[0085] In some implementations, the fingerprinting unit 522 can perform a fingerprinting process to acquire fingerprinting measurements from the ESL infrastructure node 540 at different time periods. For example, a first set of fingerprinting measurements for deploying the ESL infrastructure node 540 within a retail environment (e.g., a retail store) can be acquired during off-peak periods (e.g., early morning on a weekday) when the number of expected users (e.g., shoppers) and corresponding user devices (which may be potential sources of interference) is relatively low. Similarly, a second set of fingerprinting measurements can be acquired during peak periods when the number of expected users and potential sources of interference is relatively high. This helps to capture the impact of interference from user devices, which is unavoidable in a retail environment but is often unpredictable in terms of timing. Therefore, fingerprinting measurements received from the ESL infrastructure node 540 can be associated with one or more time periods during which measurements are acquired within the environment.
[0086] The fingerprint recognition unit 522 can also store the relevant time period for acquiring the measurement. Therefore, the information stored in the fingerprint database 530 for each node can represent a fingerprint of the signal reception characteristics of a known location corresponding to that node in the environment during a specific time period. As will be described in further detail below, the positioning unit 524 can use the fingerprint database 530 to determine the location of the target device 550 in the environment based on the known locations of nodes whose stored fingerprints match the positioning measurements received from the target device 550.
[0087] In some implementations, the fingerprint database 530 may also include additional fingerprints of user locations, either crowdsourced or manually entered. For example, a forklift in a retail environment may include specialized equipment (e.g., RF radio components, cameras, barcode scanners, etc.) that enables accurate measurement of location signals at one or more locations or reference points within the environment. Therefore, the location measurements collected by the forklift for reference points within the environment can be used as additional "virtual nodes," for which the location measurements can be stored in the fingerprint database 530 (e.g., by the fingerprint identification unit 522) and used for subsequent positioning of the target device 550 (e.g., by the positioning unit 524).
[0088] In some implementations, a machine learning model can be used to perform matching of fingerprints stored in fingerprint database 530 with location measurements received from target device 550. For example, fingerprint recognition measurements received by fingerprint recognition unit 522 can be used to train a machine learning model during the fingerprint recognition phase of an operation performed by server 500 (or its fingerprint manager 520). The fingerprint recognition phase in this example may coincide with the training phase of the machine learning model. During a subsequent location phase, location unit 524 may apply the location measurements received from target device 550, together with at least a subset of fingerprint recognition measurements from fingerprint database 530, as input to the trained machine learning model to determine the location of target device 550 within the environment, as will be described in further detail below. Depending on the specific implementation requirements, any of the various machine learning algorithms or models suitable for performing such fingerprint matching may be used. Examples of such machine learning models include, but are not limited to, recurrent neural networks (RNNs) or other deep neural networks (DNNs), long short-term memory (LSTM) models, k-nearest neighbor models, random forest models, and other machine learning models using logistic regression and / or probability matching.
[0089] In some implementations, the fingerprint recognition unit 522 can be configured to send or receive location signals at appropriate time intervals (e.g., based on the location signals described above). Figure 3A time-division multiplexing scheme 300 is used to schedule fingerprinting between ESL infrastructure nodes 540. In some implementations, fingerprinting unit 522 can transmit commands to each node (or a selected group thereof) in node 540 to send a location signal according to a number of transmission parameters. Transmission parameters may include, for example, transmission power, time slot, beam identifier (ID), and channel.
[0090] In some implementations, fingerprinting can be scheduled to simulate certain types of interference. For example, to simulate the effect of interference on location signals exchanged between groups of nodes 540 located within a given area of the environment, fingerprinting unit 522 can schedule two or more nodes in the group to transmit on the same time slot and / or the same channel. The transmit power and beam ID used by each node in the group can vary. During the location phase, location unit 524 can select an appropriate fingerprint of the location signals transmitted by one or more nodes in the group (as configured by fingerprinting unit 522 during the fingerprinting phase) to estimate or determine the location of target device 550 within the environment.
[0091] The fingerprint stored in fingerprint database 530 for each of the nodes 540 may include a set of fingerprint identification measurements (e.g., RSSI values, ToA or AoA measurements, and / or channel impulse responses) corresponding to the location signal transmissions received by that node from all the remaining infrastructure nodes 540. The fingerprint stored for each node may also include a set of transmission parameters associated with the transmissions received and measured by that node from the remaining nodes. The transmission parameter set may include a transmission power range, a set of time slots, a set of beam IDs for different beams (including both omnidirectional and directional beams), and a set of channels (e.g., in a specific frequency band). Table 1 shows an example of the set of transmission parameters associated with the fingerprint of node 1 based on measurements of location signals received by infrastructure node (node 1) from nodes 2 through 4.
[0092] Table 1
[0093] Although only three nodes' transmission parameters are shown in Table 1, it should be understood that the fingerprint associated with each node of the ESL infrastructure (e.g., node 1) may include transmission parameters from any number of other infrastructure nodes. For example, a complete fingerprint for node 1 stored in fingerprint database 530 may include different combinations of transmission parameter values corresponding to transmissions received from the remaining nodes in node 540.
[0094] In addition to scheduling the fingerprinting process as described above to account for signal interference caused by other devices in the environment (e.g., user equipment), the fingerprinting process can also be scheduled for one or more groups of nodes to save power during the fingerprinting process. As the total number of nodes with which each node must communicate increases, the fingerprinting process may become increasingly power-intensive for each node 540 in the environment. This is especially true for listening nodes (such as battery-powered ESL devices) that may need to wake up and listen for and / or receive location signals for extended periods of time.
[0095] In some implementations, the fingerprinting unit 522 may use one or more criteria to schedule the fingerprinting process for one or more node groups in a more energy-efficient manner to save power. One such criterion may be the geometry or topology of the ESL infrastructure nodes 540 (or groups thereof) deployed within the environment. For example, all co-located nodes located in a region or area of the environment (and within a threshold distance of each other) may be excluded from having to wake up and perform fingerprinting measurements. In some specific implementations, two or more distinct subsets of nodes may be multiplexed (in time and / or frequency) to collect fingerprinting measurements for that group based on their geometry or topology within the environment to save power, such as... Figure 6 exemplified.
[0096] Figure 6 This illustrates the application of some embodiments of this disclosure to environments deployed in (e.g., as described above). Figure 1A and Figure 1B The diagram illustrates a group of nodes within an ESL infrastructure in environment 110, illustrating an example of a time-division and frequency-division multiplexing scheme 600 that saves power during fingerprinting. Nodes can be, for example, different ESL devices densely deployed across different shelves of display rack 602 within the environment. However, it should be understood that the multiplexing scheme 600 is not intended to be limited to ESL devices, and the scheme 600 can be applied to any of various types of ESL infrastructure nodes (e.g., APs, actuators, and / or other components corresponding to an ESL system) deployed in known locations within an area or zone of the environment.
[0097] like Figure 6As shown, shelf 602 may include shelves 610, 620, and 630. Shelf 610 may include ESL devices 612, 614, and 616. Similarly, shelf 620 may include ESL devices 622, 624, and 626, and shelf 630 may include ESL devices 632, 634, and 636. However, shelf 602 may include any number of shelves on which any number of ESL devices (or other ESL infrastructure nodes or devices) can be mounted. Because the ESL devices in this example are co-located on shelf 602, two or more different subsets or groups of these devices can be multiplexed in time and frequency. For example, the ESL devices on each of shelves 610, 620, and 630 may be configured to operate during one of three time slots (S1, S2, and S3). Assuming a three-slot periodicity, each ESL device can operate in low-power sleep mode for two of the three slots and must only wake up to perform measurements of positioning signals received from other ESL devices or infrastructure nodes during only one of the three slots. Additionally, the group of ESL devices corresponding to each shelf can be configured to listen on only one of the three channels (C1, C2, and C3). Figure 6 As shown, ESL devices 612, 614 and 616 on shelf 610 can be configured to listen for positioning signals transmitted via channel C1, ESL devices 622, 624 and 626 on shelf 620 can be configured to listen for channel C2, and ESL devices 632, 634 and 636 on shelf 630 can be configured to listen for channel C3.
[0098] return Figure 5 Another criterion for saving power during the fingerprint recognition process is the layout of the retail environment. For example, prior knowledge of the environment's layout can be used to select and determine appropriate ranges of certain transmission parameters to be used during the fingerprint recognition process (e.g., transmission power range and / or beam ID range). Additionally, for a given transmitting node, a group of listening / receiving nodes within a threshold distance of the transmitting node can be selected to participate in the fingerprint recognition process.
[0099] Another criterion for power saving that the fingerprinting unit 522 can use is the type of frequency planning scheme used to schedule the fingerprinting process. For example, an enterprise deployment of ESL systems and corresponding ESL infrastructure within an environment can apply a frequency planning scheme that reduces co-channel interference between ESL infrastructure nodes 540. The fingerprinting unit 522 can use such a scheme to downselect or reduce the total range of channels used during the fingerprinting process.
[0100] In some implementations, fingerprinting unit 522 may employ opportunistic fingerprinting to increase the redundancy and robustness of information stored in fingerprint database 530. For example, different types of transmissions from ESL infrastructure node 540 may occur during a location or data communication session based on their own scheduling and / or protocols. Although such transmissions are not specifically scheduled to build fingerprint database 530, they can be incorporated into the database. In some specific implementations, such “opportunistic fingerprints” can be appended to fingerprint database 530 and considered as an additional set of fingerprinting measurements to help provide redundancy and robustness. In some cases, a minimum proximity criterion or metric can be used to correlate opportunistic fingerprints (and corresponding measurements) with existing records in fingerprint database 530. For example, various transmission parameters (e.g., node transmit power, beam ID, and / or channel) and other criteria (e.g., whether the measurement was acquired during peak or off-peak periods) can be used to determine the proximity metric. For a given combination of these parameters / criters, multiple redundant fingerprints can be processed together to derive an average result and / or remove outliers.
[0101] In some implementations, the fingerprinting process can be performed iteratively prior to the positioning phase. Additionally or alternatively, the fingerprinting process can be repeated or performed on demand, for example, based on changes detected in the environment (such as when a shelf is moved, a new node is installed, etc.). Criteria that can be used to trigger the on-demand fingerprinting process may include, for example, a deviation of fingerprinting measurements (e.g., RSSI) collected by the nodes between consecutive fingerprinting sessions (or iterations of the fingerprinting process) exceeding a first threshold (e.g., a threshold RSSI criterion). For example, upon determining that such a deviation exists for a group of nodes, the fingerprinting unit 522 can trigger on-demand fingerprinting by sending a command to each node in the group to repeat the transmission of the positioning signal for measurement by other nodes in the group.
[0102] In some implementations, the fingerprinting unit 522 may use additional thresholds corresponding to the number of nodes in the group or the relative positions of the nodes. For example, the fingerprinting unit 522 in the above example may transmit a command to trigger on-demand fingerprinting only if the number of listening / receiving (Rx) nodes in the group exceeds a threshold number and all nodes in the group are co-located within an area or zone of the environment (e.g., each node in the group is within a threshold distance of the other nodes in the group). Therefore, when the number of Rx nodes within a certain threshold area each exceeds the threshold number, it can be inferred that the set of measurements collected by these nodes is abnormal and additional fingerprinting measurements are required.
[0103] In some cases, a corresponding set of transmitting nodes (which generate positioning signals with measurement deviations exceeding a first threshold (e.g., a threshold RSSI criterion)) can be reported as “abnormal nodes” to server 500 or an ERP system coupled to that server. Additionally, users (e.g., store employees) can manually report any potential displacement of a node group (which will then become an anomalous node) to the ERP system and / or server 500. Any deviations from previously estimated or known locations of infrastructure nodes 540 (e.g., determined based on RF measurements, camera / vision measurements, and / or motion sensor measurements) can be reported to server 500 (or its fingerprinting unit 522). Server 500's fingerprinting unit 522 can then trigger a fingerprinting process for the anomalous node group.
[0104] As described above, the positioning unit 524 can use the fingerprint database 530 and positioning measurements received from the target device 550 to determine the location of the target device 550 within the environment. For the purposes of this disclosure, it is assumed that the target device 550 collects positioning measurements and reports them to the server 500 based on signals received on the downlink from one or more nodes of the ESL infrastructure near the target device within the environment. However, in other embodiments, the target device may send beacon signals that are received and measured on the uplink by several infrastructure nodes near the target device, and the positioning measurements may then be relayed by the nodes to the server 500.
[0105] In this context, "nearby" of the target device can include, for example, a specific radius or area surrounding the target device's current location, where other devices in the environment (e.g., one or more ESL infrastructure nodes) may be located. In some implementations, the size of the radius or surrounding area may be predefined. Alternatively, the size of the area may vary depending on the wireless signaling capabilities supported by the target device or the specific wireless technology. For example, devices "nearby" of the target device may be limited to those devices located within the target device's wireless signaling range and therefore sufficiently close to exchange wireless signals with the target device.
[0106] In some implementations, the positioning unit 524 may determine the location of the target device by first identifying a subset of infrastructure nodes associated with the measurement and a subset of fingerprints associated with the identified infrastructure nodes. When identifying a subset of fingerprints, the positioning unit 524 may consider whether there is any transmission overlap (in both time and frequency), transmission (Tx) power, beam ID, etc.
[0107] Location unit 524 can calculate a minimum proximity metric, where, in this context, "proximity" can refer to how similar or dissimilar the measurements between the target device and the infrastructure node are, for example, using equation (1): (1), in It is a subset of infrastructure equipment (from step 1). In the target device and the first Measurements recorded between infrastructure nodes, and It is in the In scenarios (e.g., peak and off-peak), the first Infrastructure nodes and the first Fingerprinting measurements between infrastructure nodes. Most similar infrastructure nodes ( The location of the target device can then be used for positioning.
[0108] As an alternative to using equation (1) above to calculate the proximity metric, a relative weight can be calculated for each infrastructure node in the infrastructure nodes. These weights can then be used to estimate the location of the target device, for example, using a weighted centroid method, where the location of the target device 550 can be based on a weighted average of the anchor node locations, where the weights are functions of the RSSI values associated with such nodes. Such anchor nodes may correspond to ESL infrastructure nodes for which the corresponding RSSI values are determined to be the strongest, or at least stronger than the signal strength associated with neighboring nodes.
[0109] For example, equation (2) can be used to determine the positioning estimate for target device 550 using the alternative method. ): (2), in It is the first The location and weight of infrastructure equipment. It can be a similarity measure calculated using equation (3): (3), This is a function of the set of RSSI measurements of positioning signals exchanged between the target device 550 and one or more infrastructure nodes. The aforementioned weight set can also be used to modify subsets. To produce another subset (For example, by ignoring all nodes with weights less than a threshold) and repeating the steps described above to determine the location of the target device 550 based on the minimum proximity metric calculated using equation (1).
[0110] Figure 7This is a flowchart of an example method 700 for fingerprinting using nodes deployed within an ESL infrastructure environment, according to some embodiments of this disclosure. For discussion purposes, the methods described above will be used. Figure 1B ESL system 100 and / or as described above Figure 5 Method 700 is described using server 500. However, method 700 is not intended to be limited thereto. For example, as described above, method 700, which includes the operations described in the boxes below, may be performed by the management server 122 of ESL system 100 or by components of server 500.
[0111] Method 700 begins at block 702, which includes receiving fingerprint measurements of location signals transmitted by other nodes of an ESL infrastructure deployed at a known location within an environment, from each of a plurality of nodes of the ESL infrastructure via a wireless network. For each ESL node, these fingerprint measurements may include measurements of signal strength from various sources in the environment, including the signal strength of a reference signal transmitted by other ESL nodes. For example, fingerprint measurements for ESL node 1 may include signal measurements from ESL nodes 2 and 3 (e.g., RSSI values for the reference signal); fingerprint measurements for ESL node 2 may include signal measurements from ESL nodes 1, 3, and 4; fingerprint measurements for ESL node 3 may include signal measurements from ESL nodes 1, 2, and 4; and fingerprint measurements for ESL node 4 may include signal measurements from ESL node 3. Each of ESL nodes 1, 2, 3, and 4 may have a known location within the environment. The fingerprints may also be associated with a certain time of day.
[0112] Method 700 then proceeds to box 704, which includes a fingerprint database coupled to the server (e.g., Figure 5 The fingerprint database (530) stores fingerprint measurements received from each node of the ESL infrastructure, along with the node's known location within the environment, at box 702. Fingerprint measurements can be stored in a database local to the gateway or in the cloud, away from the gateway.
[0113] At box 706, positioning measurements are received via a wireless network corresponding to signal transmissions from one or more nodes of the ESL infrastructure near the target device within the environment.
[0114] At box 708, at least one node of the ESL infrastructure is identified, for which a corresponding fingerprint recognition measurement stored in the fingerprint database is matched with a positioning measurement received from the target device.
[0115] Method 700 then proceeds to box 710, which includes determining the location of the target device within the environment based on the known location of at least one node identified at box 708.
[0116] In one or more aspects, the technology used to support an ESL system may include additional aspects, such as any single aspect or any combination of aspects described below or in conjunction with one or more other processes or devices described elsewhere herein.
[0117] In a first aspect, a method includes: receiving signal measurements from a target device of at least a first subset of ESL nodes near the target device by a server managing electronic shelf tag (ESL) nodes; identifying at least one ESL node among the ESL nodes that meets criteria based on the signal measurements; and determining the location of the target device by the server based on a location subset including the location associated with the at least one ESL node.
[0118] In a second aspect, in combination with the first aspect, the method further includes: receiving, by the server, a fingerprint measurement of a location signal received by the ESL node from the ESL node, the location signal being sent by other ESL nodes in the ESL node; and storing the fingerprint measurement associated with the location of the ESL node in a fingerprint database accessible to the server.
[0119] In a third aspect, in combination with one or more of the first or second aspects, the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
[0120] In a fourth aspect, in combination with one or more of the first to third aspects, the signal measurement includes a first signal measurement, which includes a Received Signal Strength Indicator (RSSI) of the positioning signal.
[0121] In a fifth aspect, in combination with one or more of the first to fourth aspects, the method further includes transmitting a first command from the server to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.
[0122] In a sixth aspect, in combination with one or more of the first to fifth aspects, the method further includes: the server determining that the RSSI measured by the first signal fails to meet a threshold RSSI criterion; and the server transmitting a second command to each node in the first set to repeatedly transmit the positioning signal for measurement by other nodes in the first set.
[0123] In the seventh aspect, in combination with one or more of the first to sixth aspects, the second command is transmitted only if the number of nodes in the first set exceeds a threshold number and each node in the first set is within a threshold distance of the other nodes in the first set.
[0124] In an eighth aspect, in combination with one or more of the first to seventh aspects, the method further includes: identifying a first node having a known first location by the server; selecting one or more second nodes from the ESL nodes located within a threshold distance of the known first location of the first node by the server; transmitting a first command to the first node by the server to send a first set of positioning signals for measurement by each of the one or more second nodes; and transmitting a second command to each of the one or more second nodes by the server to measure the first set of positioning signals sent by the first node.
[0125] In a ninth aspect, in combination with one or more of the first to eighth aspects, the first command instructs the first node to transmit the first set of location signals according to a first set of transmission parameters, and the method further includes: receiving by the server a fingerprint measurement of the first set of location signals transmitted by the first node from each of the one or more second nodes.
[0126] In a tenth aspect, in combination with one or more of the first to ninth aspects, the method further includes transmitting a third command from the server to a third node in the ESL nodes having a known third location to transmit a second set of positioning signals according to a second set of transmission parameters, such that the second set of positioning signals interferes with the first set of positioning signals transmitted by the first node.
[0127] In an eleventh aspect, an apparatus includes: a memory storing processor-readable code; and at least one processor coupled to the memory, wherein the at least one processor is configured to execute the processor-readable code to cause the at least one processor to perform operations including: receiving signal measurements of at least a first subset of electronic shelf label (ESL) nodes near the target device; identifying at least one ESL node among the ESL nodes that meets criteria based on the signal measurements; and determining the location of the target device based on a location subset including the location associated with the at least one ESL node.
[0128] In a twelfth aspect, in conjunction with the eleventh aspect, the operation further includes: receiving from the ESL node a fingerprint recognition measurement of a location signal received by the ESL node, the location signal being sent by other ESL nodes in the ESL node; and storing the fingerprint recognition measurement associated with the location of the ESL node in a fingerprint database.
[0129] In the thirteenth aspect, in combination with one or more of the eleventh or twelfth aspects, the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
[0130] In the fourteenth aspect, in combination with one or more of aspects eleven to thirteen, the signal measurement includes a first signal measurement, the first signal measurement including a received signal strength indicator (RSSI) of the positioning signal.
[0131] In the fifteenth aspect, in combination with one or more of aspects eleven to fourteen, the operation further includes transmitting a first command to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.
[0132] In a sixteenth aspect, in combination with one or more of aspects eleven to fifteen, the operation further includes: determining that the RSSI measured by the first signal fails to meet a threshold RSSI criterion; and transmitting a second command to each node in the first set to repeatedly transmit the positioning signal for measurement by other nodes in the first set.
[0133] In the seventeenth aspect, in combination with one or more of the eleventh to sixteenth aspects, the second command is transmitted only if the number of nodes in the first set exceeds a threshold number and each node in the first set is within a threshold distance of the other nodes in the first set.
[0134] In the eighteenth aspect, in combination with one or more of aspects eleven to seventeen, the operation further includes: identifying a first node having a known first location; selecting from the ESL nodes one or more second nodes located within a threshold distance of the known first location of the first node; transmitting a first command to the first node to send a first set of positioning signals for measurement by each of the one or more second nodes; and transmitting a second command to each of the one or more second nodes to measure the first set of positioning signals sent by the first node.
[0135] In the nineteenth aspect, in combination with one or more of aspects eleven to eighteen, the first command instructs the first node to transmit the first set of positioning signals according to the first set of transmission parameters, and the operation further includes: receiving a fingerprint measurement of the first set of positioning signals transmitted by the first node from each of the one or more second nodes.
[0136] In the twentieth aspect, in combination with one or more of aspects eleven to nineteen, the operation further includes: transmitting a third command to a third node in the ESL nodes having a known third location to transmit a second set of positioning signals according to a second set of transmission parameters, such that the second set of positioning signals interferes with the first set of positioning signals transmitted by the first node.
[0137] In a twenty-first aspect, a non-transitory computer-readable medium stores instructions that, when executed by a processor, cause the processor to perform operations including: receiving signal measurements of at least a first subset of electronic shelf tag (ESL) nodes near the target device; identifying at least one ESL node among the ESL nodes that meets the criteria based on the signal measurements; and determining the location of the target device based on a location subset including the location associated with the at least one ESL node.
[0138] In a twenty-second aspect, in combination with the twenty-first aspect, the operation further includes: receiving from the ESL node a fingerprint recognition measurement of a location signal received by the ESL node, the location signal being sent by other ESL nodes in the ESL node; and storing the fingerprint recognition measurement associated with the location of the ESL node in a fingerprint database.
[0139] In the twentieth aspect, in combination with one or more of the twentieth or twentieth aspects, the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
[0140] In the twenty-fourth aspect, in combination with one or more of the twenty-first to twenty-third aspects, the signal measurement includes a first signal measurement, the first signal measurement including a Received Signal Strength Indicator (RSSI) of the positioning signal.
[0141] In the twenty-fifth aspect, in combination with one or more of the twenty-first to twenty-fourth aspects, the operation further includes transmitting a first command to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.
[0142] In a twenty-sixth aspect, an Electronic Shelf Label (ESL) system includes ESL nodes and a server, the server including: a memory; and at least one processor coupled to the memory and configured to perform operations including: receiving signal measurements of at least a first subset of electronic shelf label (ESL) nodes near the target device from a target device; identifying at least one ESL node among the ESL nodes that meets criteria based on the signal measurements; and determining the location of the target device based on a location subset including the location associated with the at least one ESL node.
[0143] In a twenty-seventh aspect, in combination with the twenty-sixth aspect, the operation further includes: receiving from the ESL node a fingerprint recognition measurement of a location signal received by the ESL node, the location signal being sent by other ESL nodes in the ESL node; and storing the fingerprint recognition measurement associated with the location of the ESL node in a fingerprint database.
[0144] In the twentieth aspect, in combination with one or more of the twentieth or twentieth aspects, the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
[0145] In the twenty-ninth aspect, in combination with one or more of the twenty-sixth to twenty-eighth aspects, the signal measurement includes a first signal measurement, the first signal measurement including a Received Signal Strength Indicator (RSSI) of the positioning signal.
[0146] In the thirtieth aspect, in combination with one or more of the twenty-sixth to twenty-ninth aspects, the operation further includes transmitting a first command to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.
[0147] The components, functional blocks, and modules described herein with respect to the accompanying figures include processors, electronic devices, hardware devices, electronic components, logic circuits, memory, software code, firmware code, and so on, or any combination thereof. Software should be interpreted broadly as instructions, instruction sets, code, code segments, program code, programs, subroutines, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, and / or functions, whether referred to as software, firmware, middleware, microcode, hardware description languages, or other terms. Furthermore, the features discussed herein may be implemented via dedicated processor circuitry, via executable instructions, or a combination thereof.
[0148] Those skilled in the art will further understand that the various exemplary logic blocks, modules, circuits, and algorithm steps described in conjunction with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been described above in general terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art can implement the described functionality in different ways for each specific application, but such specific implementation decisions should not be construed as departing from the scope of this disclosure. Those skilled in the art will also readily recognize that the order or combination of components, methods, or interactions described herein are merely examples, and that components, methods, or interactions of various aspects of this disclosure can be combined or performed in ways other than those illustrated and described herein.
[0149] The various exemplary logics, logic blocks, modules, circuits, and algorithmic processes described in conjunction with the specific implementations disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. The interchangeability of hardware and software has been broadly described in terms of functionality and illustrated in the aforementioned exemplary components, blocks, modules, circuits, and processes. Whether such functionality is implemented in hardware or software depends on the specific application and the design constraints imposed on the overall system.
[0150] Hardware and data processing means for implementing the various exemplary logic, logic blocks, modules, and circuits described herein can be implemented or executed using general-purpose single-chip or multi-chip processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic components, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, or any conventional processor, controller, microcontroller, or state machine. In some embodiments, the processor may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. In some embodiments, specific processes and methods may be performed by circuitry specific to a given function.
[0151] In one or more aspects, the described functionality may be implemented in hardware, digital electronic circuits, computer software, firmware, including the structures disclosed in this specification and their structural equivalents or any combination thereof. Specific implementations of the subject matter described in this specification may also be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium for execution by a data processing apparatus or for controlling the operation of a data processing apparatus.
[0152] If implemented in software, the functionality can be stored as one or more instructions or code on or transmitted through a computer-readable medium. The processes of the methods or algorithms disclosed herein can be implemented in a processor-executable software module that can reside on a computer-readable medium. Computer-readable media include both computer storage media and communication media, including any medium that can be implemented to transfer a computer program from one location to another. Storage media can be any available medium accessible to a computer. By way of example and not limitation, such computer-readable media may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium capable of storing desired program code in the form of instructions or data structures and accessible to a computer. Additionally, any connection may be appropriately referred to as a computer-readable medium. As used herein, disks and optical discs include compact optical discs (CDs), laser discs, optical discs, digital versatile optical discs (DVDs), floppy disks, and Blu-ray discs, wherein disks typically magnetically reproduce data, while optical discs optically reproduce data using lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operation of a method or algorithm may reside as a set of code and instructions or any combination of code and instructions on a machine-readable medium and a computer-readable medium that may be incorporated into a computer program product.
[0153] Various modifications to the specific embodiments described in this disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other specific embodiments without departing from the spirit or scope of this disclosure. Therefore, the claims are not intended to be limited to the specific embodiments shown herein, but are to be granted the broadest scope consistent with this disclosure, the principles disclosed herein, and the novel features.
[0154] Certain features described in this specification in the context of a single embodiment may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as operating in certain combinations and even originally claimed in this way, one or more features from the claimed combination may be removed from that combination in some cases, and the claimed combination may be for sub-combinations or variations thereof.
[0155] Similarly, although operations are depicted in a specific order in the figures, this should not be construed as requiring such operations to be performed in the indicated specific order or sequential order, or to perform all illustrated operations to achieve the desired result. Furthermore, the figures may schematically depict one or more example processes in the form of flowcharts. However, other operations not depicted may be combined with the schematically illustrated example processes. For example, one or more additional operations may be performed before, after, simultaneously with, or between any illustrated operation. In some contexts, multitasking and parallel processing are advantageous. Moreover, the separation of the various system components in the embodiments described above should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, some other embodiments also fall within the scope of the appended claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve the desired result.
[0156] The prior description of this disclosure is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to this disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not intended to be limited to the examples and designs described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method, the method comprising: The server that manages the electronic shelf label (ESL) nodes receives signal measurements from at least a first subset of the ESL nodes near the target device. The server identifies at least one ESL node among the ESL nodes that meets the criteria based on the signal measurement. as well as The server determines the location of the target device based on a subset of locations, including those associated with the at least one ESL node.
2. The method according to claim 1, further comprising: The server receives a fingerprint measurement of the location signal received by the ESL node from the ESL node, and the location signal is sent by other ESL nodes in the ESL node. as well as The fingerprint recognition measurements associated with the location of the ESL node are stored in a fingerprint database accessible to the server.
3. The method of claim 2, wherein the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
4. The method of claim 2, wherein the signal measurement includes a first signal measurement, the first signal measurement including the received signal strength indicator (RSSI) of the positioning signal.
5. The method of claim 4, further comprising transmitting a first command from the server to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.
6. The method according to claim 4, further comprising: The server determines that the RSSI measured by the first signal fails to meet the threshold RSSI criterion; as well as The server transmits a second command to each node in the first set to repeatedly send the positioning signal for measurement by other nodes in the first set.
7. The method of claim 6, wherein the second command is transmitted only if the number of nodes in the first set exceeds a threshold number and each node in the first set is within a threshold distance of the other nodes in the first set.
8. The method according to claim 1, further comprising: The server identifies a first node with a known first location; The server selects one or more second nodes from the ESL nodes that are located within a threshold distance of the known first position of the first node; The server transmits a first command to the first node to send a first set of positioning signals for measurement by each of the one or more second nodes; as well as The server transmits a second command to each of the one or more second nodes to measure the first set of positioning signals sent by the first node.
9. The method of claim 8, wherein the first command instructs the first node to transmit the first set of positioning signals according to the first set of transmission parameters, and wherein the method further comprises: The fingerprint recognition measurement of the first set of data is received by the server from each of the one or more second nodes, based on the location signal sent by the first node.
10. The method according to claim 9, further comprising: The server transmits a third command to a third node in the ESL node that has a known third location to send a second set of location signals according to a second set of transmission parameters, such that the second set of location signals interferes with the first set of location signals sent by the first node.
11. An apparatus comprising: Memory, the memory storing processor-readable code; and At least one processor, coupled to the memory, is configured to execute processor-readable code to cause the at least one processor to perform operations, the operations including: Receive signal measurements from at least a first subset of electronic shelf label (ESL) nodes near the target device; Based on the signal measurements, at least one ESL node among the ESL nodes that meets the criteria is identified; and The location of the target device is determined based on a subset of locations including those associated with the at least one ESL node.
12. The apparatus of claim 11, wherein the operation further comprises: Fingerprint recognition measurement that receives a location signal from another ESL node; as well as The fingerprint recognition measurements associated with the location of the ESL node are stored in the fingerprint database.
13. The apparatus of claim 12, wherein the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
14. The apparatus of claim 12, wherein the signal measurement includes a first signal measurement, the first signal measurement including a received signal strength indicator (RSSI) of the positioning signal.
15. The apparatus of claim 14, wherein the operation further comprises transmitting a first command to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, and wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.
16. The apparatus of claim 14, wherein the operation further comprises: It is determined that the RSSI measured by the first signal fails to meet the threshold RSSI criterion; as well as A second command is transmitted to each node in the first set to repeatedly send the positioning signal for measurement by other nodes in the first set.
17. The apparatus of claim 16, wherein the second command is transmitted only if the number of nodes in the first set exceeds a threshold number and each node in the first set is within a threshold distance of the other nodes in the first set.
18. The apparatus of claim 11, wherein the operation further comprises: Identify the first node with a known first position; Select one or more second nodes located within a threshold distance of the known first position of the first node from the ESL nodes; A first command is transmitted to the first node to send a first set of positioning signals for measurement by each of the one or more second nodes; as well as A second command is transmitted to each of the one or more second nodes to measure the first set of positioning signals sent by the first node.
19. The apparatus of claim 18, wherein the first command instructs the first node to transmit the first set of positioning signals according to the first set of transmission parameters, and wherein the operation further comprises: The fingerprint recognition measurement of the first set of data, which receives the positioning signal sent by the first node from each of the one or more second nodes.
20. The apparatus of claim 19, wherein the operation further comprises: A third command is transmitted to a third node in the ESL node that has a known third location to transmit a second set of location signals according to a second set of transmission parameters, such that the second set of location signals interferes with the first set of location signals transmitted by the first node.
21. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations, the operations including: Receive signal measurements from at least a first subset of electronic shelf label (ESL) nodes near the target device; Based on the signal measurement, at least one ESL node among the ESL nodes that meets the criteria is identified; as well as The location of the target device is determined based on a subset of locations including those associated with the at least one ESL node.
22. The non-transitory computer-readable medium of claim 21, wherein the operation further comprises: Fingerprint recognition measurement that receives a location signal from another ESL node; as well as The fingerprint recognition measurements associated with the location of the ESL node are stored in the fingerprint database.
23. The non-transitory computer-readable medium of claim 22, wherein the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
24. The non-transitory computer-readable medium of claim 22, wherein the signal measurement includes a first signal measurement, the first signal measurement including a received signal strength indicator (RSSI) of the positioning signal.
25. The non-transitory computer-readable medium of claim 24, wherein the operation further comprises transmitting a first command to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, and wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.
26. An electronic shelf label (ESL) system, the electronic shelf label (ESL) system comprising: ESL node; and A server, the server including memory and at least one processor coupled to the memory, wherein the at least one processor is configured to perform operations including: The server receives signal measurements of at least a first subset of the ESL nodes near the target device from the target device; The server identifies at least one ESL node among the ESL nodes that meets the criteria based on the signal measurement; and The server determines the location of the target device based on a subset of locations, including those associated with the at least one ESL node.
27. The ESL system of claim 26, wherein the operation further comprises: The server receives a fingerprint measurement of the location signal received by the ESL node from the ESL node, and the location signal is sent by other ESL nodes in the ESL node. as well as The server stores the fingerprint recognition measurements associated with the location of the ESL node in the fingerprint database.
28. The ESL system of claim 27, wherein the fingerprint recognition measurement includes a first fingerprint recognition measurement received during a first time period and a second fingerprint recognition measurement received during a second time period.
29. The ESL system of claim 27, wherein the signal measurement includes a first signal measurement, the first signal measurement including the Received Signal Strength Indicator (RSSI) of the positioning signal.
30. The ESL system of claim 29, wherein the operation further comprises transmitting a first command from the server to a first set of the ESL nodes to transmit the positioning signal according to one or more transmission parameters, and wherein the one or more transmission parameters include transmission power, time slot, beam identifier (ID), and channel.