SELF-LOCATING ELECTRONIC Shelf LABEL (ESL) DEVICES THROUGH INTER-ESL LINKS
By utilizing radio frequency measurement and iterative self-localization technology in the ESL system, the labor-intensive problem of ESL equipment deployment and positioning is solved, achieving efficient and accurate ESL equipment positioning management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-11
- Publication Date
- 2026-04-14
AI Technical Summary
The deployment and positioning process of existing electronic shelf label (ESL) systems is labor-intensive and has a large positioning error, making it difficult to efficiently manage the location of a large number of ESL devices.
By using radio frequency measurements between an ESL device with known location (anchored ESL) and an ESL device with unknown location (target ESL) in a wireless network, combined with an iterative self-localization process, the location of the target ESL is estimated, and the positioning error is optimized using geometric accuracy attenuation factor and signal-to-noise ratio.
It reduces manual labor and communication overhead, improves the accuracy and efficiency of ESL device positioning, and reduces deployment and management costs.
Smart Images

Figure CN121866477A_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims the benefit of U.S. Patent Application No. 18 / 470,131, filed September 19, 2023, entitled “SELF-POSITIONING OF ELECTRONICSHELF LABEL (ESL) DEVICES THROUGH INTER-ESL LINKS”, which is expressly incorporated herein by reference in its entirety. Technical Field
[0003] Various aspects of this disclosure generally relate to electronic shelf label (ESL) systems, and more specifically to methods and systems for locating or positioning ESL devices deployed in indoor environments. Background Technology
[0004] Retail stores typically use paper labels to display information about products displayed on shelves, such as price, discount rates, unit cost, and country of origin. Using such paper labels to display prices 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 supplies and employee labor. Furthermore, from an environmental perspective, replacing labels wastes raw materials such as paper, negatively impacting environmental protection. Moreover, human error is prone to occur, such as mislabeling shelves or products or forgetting to remove temporary price changes from certain shelves, leading to customer dissatisfaction.
[0005] Electronic shelf label (ESL) devices are electronic devices used to display prices or other relevant information about items on retail store shelves, replacing paper labels. ESL devices are attached to the front edge of retail shelves and use display devices such as liquid crystal displays (LCDs) to show various information. Whenever information about a product or its location changes, the ESL device can be programmed with new product information. Therefore, the same electronic shelf labels can be reused.
[0006] ESL system devices or nodes can be equipped with Bluetooth Low Energy (BLE) radio components, which can be used to track the location of BLE-enabled devices based on the known location of nearby ESL devices within a retail environment. However, deploying such ESL systems can be a labor-intensive process, requiring hundreds or thousands of ESL devices to be individually installed and located across different locations within the environment. Furthermore, due to positioning errors during deployment or the physical relocation of some ESL devices after deployment, it can be difficult to know the actual location of all ESL devices. Summary of the Invention
[0007] 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 given later.
[0008] Electronic shelf label (ESL) devices can be used in wireless networks to provide information and services to shoppers and retailers (as users of the ESL system). For example, an ESL device operating on a wireless network as part of an ESL system can support indoor positioning services to identify the location of the ESL device within an indoor environment (e.g., a retail environment, such as the floor space of a retail store). As another example, the ESL system can support location services to identify the location of a user within an environment by interacting with the user's mobile device. As yet another example, the ESL system can employ an iterative self-localization process to estimate the location of various ESL devices deployed within the environment.
[0009] In some implementations, a first subset of ESL devices with known locations can be used to estimate the locations of a second subset of ESL devices. ESL devices in the second subset can collect and report radio frequency (RF) measurements of beacons broadcast by the first subset. The RF measurements can be used to estimate the location of each ESL device in the second subset. The location error associated with the estimated location can be determined based on a geometrical attenuation factor (GDOP) value and / or an uncertainty or confidence metric associated with the location measurement (e.g., signal-to-noise ratio (SNR) or other quality metrics associated with the measured signal). The estimated location of each ESL device in the second subset can then be updated based on additional RF measurements collected in one or more iterations until the associated location error falls below a maximum location error. For example, initial RF measurements received for a target ESL device in the second subset whose location is unknown can be used to estimate a coarse location of that device within the environment during a first iteration. The coarse location can be used to trigger “anchored” ESL devices in the first subset whose known locations are near the coarse location (e.g., within the same aisle, display shelf, or shelf as the target ESL device) to rebroadcast their beacons. The coarse location of the target ESL device can then be refined in one or more subsequent iterations based on additional RF measurements from beacons rebroadcast from the anchored ESL devices. Given the proximity of these anchored ESL devices, the additional RF measurements will likely yield improved location estimates with more favorable GDOP and better SNR.
[0010] Therefore, the disclosed positioning technique allows for the estimation of unknown locations of ESL devices based on a limited amount of prior information about the general deployment or layout of the ESL system within an indoor environment, such as the general spacing between ESL devices and the known locations of several ESL devices. The disclosed technique may be particularly useful for reducing both the manual labor and communication overhead associated with locating numerous ESL devices in a large-scale, densely deployed ESL system within an indoor environment.
[0011] In one aspect of this disclosure, a method includes: determining a known location of a first subset of electronic shelf label (ESL) devices; receiving a location measurement for each ESL device in a second subset of the ESL devices; estimating a first location of the ESL device based on the location measurement received for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL device based on the location error and additional location measurements received for each ESL device in the second subset.
[0012] In an additional aspect of this disclosure, an apparatus includes at least one processor and a memory coupled to the at least one processor. The at least one processor is configured to perform operations including: determining a known location of a first subset of electronic shelf label (ESL) devices; receiving location measurements for each ESL device in a second subset of the ESL devices; estimating a first location of the ESL device based on the location measurements received for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL device based on the location error and additional location measurements received for each ESL device in the second subset.
[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: determining a known location of a first subset of electronic shelf label (ESL) devices; receiving a location measurement for each ESL device in a second subset of the ESL devices; estimating a first location of the ESL device based on the location measurement received for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL device based on the location error and additional location measurements received for each ESL device in the second subset.
[0014] In an additional aspect of this disclosure, an Electronic Shelf Label (ESL) system is provided, comprising: a first subset of Electronic Shelf Label (ESL) devices; a second subset of ESL devices; and a server including: a memory; and at least one processor coupled to the memory and configured to perform operations including: determining a known location of the first subset of ESL devices; receiving a location measurement for each ESL device in the second subset of ESL devices; estimating a first location of the ESL device based on the received location measurement for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL device based on the location error and additional location measurements received for each ESL device in the second subset.
[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 a 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 wireless communication standard including: any of the following: any of the IEEE 802.11 standards, IEEE 802.15.1, 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, the 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, and fifth-generation (5G) or new radio (NR) networks (sometimes referred to as "5G"). NR (Network, System, or Device) 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 incorporating 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 implemented 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 may be performed in a single component or across multiple components, and / or may 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 may 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. 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] Furthermore, 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 an indoor environment according to some embodiments of the present 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 multiple shelves with ESL equipment, according to some embodiments of this disclosure.
[0035] Figure 2B This is a top view of an aisle between different display shelves in a retail environment according to some embodiments of this disclosure, wherein ESL equipment is accessible to users.
[0036] Figure 3 This is an example of a time-division multiplexing timing diagram for communicating with multiple ESL devices according to some embodiments of this disclosure.
[0037] Figure 4 This is a block diagram illustrating an example of an ESL device according to some embodiments of the present disclosure.
[0038] Figure 5 This is a diagram illustrating an example process for iteratively positioning an ESL device in an indoor environment according to some embodiments of this disclosure.
[0039] Figure 6 This is a signaling diagram illustrating an example communication flow between different components of an ESL system during a positioning session for estimating the location of an ESL device in an indoor environment, according to some embodiments of this disclosure.
[0040] Figure 7 This is a timing diagram illustrating time-division multiplexing for communication between the ranked (“anchored”) ESL device and other (“target”) ESL devices according to some embodiments of this disclosure.
[0041] Figure 8A This is a block diagram illustrating an example of an access point (AP) beacon message including an ESL payload for a set of ESL devices, according to some embodiments of this disclosure.
[0042] Figure 8B It is for use according to some embodiments of this disclosure Figure 8A The example format of the control commands for this group of ESL devices.
[0043] Figure 9A This is a flowchart of an example process for locating a UE during a 5G New Radio (NR) sidelink (SL) ranging session based on location reference signal (PRS) measurements exchanged between the initiating user equipment (UE) and the target UE, according to some embodiments of this disclosure.
[0044] Figure 9BThis is another flowchart of an example procedure for configuring an NR-SL positioning session based on PRS messages exchanged between an initiating UE and multiple target UEs, according to some embodiments of this disclosure.
[0045] Figure 10 This is a signaling diagram illustrating an example communication flow between different devices in an ESL system for iteratively locating an ESL device during an SL positioning session, according to some embodiments of this disclosure.
[0046] Figure 11 This is a flowchart of an example method for iteratively locating an ESL device in an indoor environment, according to some embodiments of this disclosure.
[0047] The same reference numerals and names in the various figures indicate the same elements. Detailed Implementation
[0048] 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 cases, well-known structures and components are shown in block diagram form for clarity of presentation.
[0049] This disclosure provides systems, apparatus, methods, and computer-readable media that support indoor positioning of user devices or objects within an indoor environment, such as a retail environment corresponding to the floor space of a retail store or warehouse. In some embodiments, an electronic shelf label (ESL) system may be deployed within the environment to monitor or track assets (e.g., product location) and provide indoor positioning and navigation services to users within the environment (e.g., customers or store employees). 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.
[0050] Specific implementations 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 electronic shelf label (ESL) applications within indoor environments. To address location-related problems associated with densely deployed ESL devices within indoor environments, ESL systems can provide indoor positioning services to locate new or recently deployed ESL devices (“target ESL devices” or “target ESLs”) within the environment, or determine their location, based on the known locations of previously deployed ESL devices (“anchored ESL devices” or “anchored ESLs”) and any other available prior information about the ESL infrastructure and / or environment. Therefore, the disclosed techniques enable the estimation of ESL device locations using the existing infrastructure of the ESL system without user intervention or additional communication overhead associated with the location estimation process.
[0051] As will be described in further detail below, the disclosed technique utilizes an iterative process to estimate the location of each target ESL within an environment based on radio frequency (RF) measurements of radio signals transmitted by the anchor ESL and received by the target ESL. For example, the first iteration of the location estimation process may produce an initial estimate of the location of the target ESL, which may be a coarse location of the device within the environment (e.g., corresponding to an aisle between adjacent display shelves in a retail environment). This coarse location or initial location estimate may then be refined in one or more successive iterations based on additional RF measurements collected by the target ESL.
[0052] Additional RF information may include, for example, measurements of RF signals transmitted by one or more anchored ESLs near the target ESL (e.g., in the same aisle, display shelf, or shelf as the target device). The one or more anchored ESLs may be identified based on the estimated location of the target ESL from the first iteration. Given the relative proximity of the identified anchored ESL to the target ESL (compared to other anchored ESLs that may be located in different aisles or display shelves), a second iteration of the positioning process using additional RF measurements may produce an improved positioning estimate with a more favorable geometrical attenuation factor (GDOP) and a better signal-to-noise ratio (SNR) (and therefore, a smaller error). In some embodiments, additional iterations of the process may be performed to further refine or detail the estimated positioning, for example, until the positioning error associated with the estimated positioning is less than a maximum positioning error tolerance. This error tolerance may be a value or range of values based on, for example, GDOP, SNR, and / or any other suitable metric of positioning error or location accuracy.
[0053] The terms “location” and “self-location” are used interchangeably herein to refer to estimating the location of a device deployed within an indoor environment (e.g., an ESL device in an ESL system), rather than the physical placement of the device within the environment. Furthermore, it should be understood that in the context of an ESL system, the actual location or location estimation is performed by different devices within the ESL system (e.g., servers or access points), not by the ESL device itself. As described above, the location of a target ESL device can be determined based on RF measurements collected by the ESL device and prior information about the infrastructure of the ESL system within the indoor environment (such as the known location of the anchored ESL device). Therefore, the disclosed techniques enable ESL devices (representing nodes in an ESL system) to “self-locate” with little or no user intervention, based on the system’s existing infrastructure and collaboration between the node and other system components.
[0054] While the following examples will be described in the context of a retail environment, it should be understood that the embodiments disclosed herein are not intended to be limited thereto, and the disclosed positioning (or positioning estimation) techniques can be applied to any indoor environment in a variety of indoor environments.
[0055] Figure 1A This is a block diagram illustrating a perspective view of an example ESL system 100 according to some embodiments of this disclosure. For example... Figure 1A As shown, the ESL system 100 can be deployed across multiple display shelves 112A to 112H within a retail environment 110. The retail environment 110 may include floor space, such as that of a retail store (e.g., a grocery store or department store). As will be described in further detail below, each of the display shelves 112A to 112H may include multiple shelves and one or more ESL devices that can be attached to each shelf. The ESL devices can be used to display pricing and / or other information related to the products located on the corresponding shelf. In some specific implementations, each of the display shelves 112A to 112H, as well as each shelf and each aisle between the display shelves 112A to 112H, may be assigned a unique identifier to distinguish them from other aisles, display shelves, and shelves in the retail environment 110. Each ESL device may be equipped with one or more wireless radio components for sending and receiving information via a wireless network associated with the retail store. 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, Bluetooth, Bluetooth Low Energy (BLE), 5G NR, Ultra Wideband (UWB), and other RF technologies.
[0056] In some implementations, cameras may be mounted on or near the ends of display shelves 112A to 112H to capture different views of the aisles between display shelves 112A to 112H and / or other paths in the area surrounding display shelves 112A to 112H. Additionally, over-the-top (OTT) cameras 102A to 102D (or collectively referred to as “OTT camera 102”) may be located at different top locations throughout the retail store to capture a larger area of the retail environment 110. For example, OTT camera 102 may be part of a retail store surveillance system used for security and monitoring purposes.
[0057] 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), which can be used to determine or confirm the location of one or more ESL devices within the retail environment 110. In some specific implementations, such information can also be used to determine the location of BLE device 124 within the 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). BLE device 124 and each ESL device may be equipped with BLE radio components for transmitting and / or receiving low-power beacons. Such beacons may also be transmitted by an access point of a wireless network associated with the retail environment 110. Reference will be made below. Figure 1B In further detail, radio frequency (RF) measurements of ESL beacons captured by BLE device 124 and each ESL device can be provided to the management server of ESL system 100 to perform the iterative positioning technique disclosed herein.
[0058] 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, ESL system 100 may also include a management server 122 integrated with or communicatively coupled to gateway node 120. Management server 122 may include at least one processor coupled to memory, which may be a computer-readable medium for storing instructions or program code executable by the at least one processor. In some embodiments, at least one processor may be configured to execute computer program code stored in memory to cause management server 122 to perform operations related to managing ESL devices 108A to 108D, access points (APs) 106A, access points (APs) 106B, gateway node 120, and / or other components within ESL system 100. For example, management server 122 may perform operations related to iteratively locating ESL devices within retail environment 110, as will be described in further detail below.
[0059] Gateway node 120 can communicate with access points (APs) 106A and 106B. Although in Figure 1B The example shows two APs, but ESL system 100 may include fewer or more APs. APs 106A and 106B can communicate with gateway node 120 via a first communication network (wired or wireless). APs 106A and 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) could be a Wi-Fi network, and the second communication network (e.g., between AP 106A and ESL device 108A) could be a Bluetooth network.
[0060] In some implementations, each of APs 106A and 106B may communicate with a subset of ESL devices 108A through 108D located in a geographic area assigned to the AP (e.g., based on the AP's location relative to each ESL device and / or the AP's signal coverage area). For example, a retail environment 110 may be divided into two geographic areas, each covering approximately half of the total area of the 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.
[0061] As described above, ESL devices 108A to 108D can communicate with their respective APs 106A and 106B via a Bluetooth network. Bluetooth technology generally 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 may include establishing a wireless personal area network (PAN) (also known as a "self-organizing" network or "peer-to-peer" network). These self-organizing networks are often referred to as "piconet". For example, ESL devices 108A and 108B may be in a first piconet with AP 106A, while ESL devices 108C and 108D may be in a second piconet with AP 106B. However, it should be understood that in some implementations, each ESL device may belong to multiple piconets. Multiple interconnected piconets may be referred to as a scattering network. A scattering network can be formed when members of the first piconet choose to participate in the second piconet.
[0062] Because many services offered via Bluetooth may expose private data or allow connected parties to control connected devices, Bluetooth networks may require devices to establish a "trust relationship" before they are allowed to communicate 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 is automatically triggered whenever the device is powered on or moves within a certain distance of another Bluetooth device. Pairing information associated with the currently established pairing 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) that can be used to authenticate the device or establish 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.
[0063] 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 for 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 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.
[0064] In some implementations, management server 122 may be part of an enterprise resource planning (ERP) system used to manage 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 be, for example, a database server that stores and manages various information used in the operations of a retail store or distribution warehouse. Such information may include product information about products displayed in the store, as well as location and other relevant information associated with each component of ESL system 100 (including each of ESL devices 108A to 108D and APs 106A and 106B). In some specific implementations, this information may be stored in a separate inventory management database within the ERP system, which may be accessed by management server 122 via a wired or wireless network.
[0065] Management server 122 can generate command messages and send them 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, which is linked to the product information to be displayed on a corresponding ESL device among ESL devices 108A to 108D.
[0066] Command messages created by management server 122 (e.g., product information change messages or management information retrieval messages) can be transmitted to gateway node 120 using a communication scheme supported by gateway node 120. Command messages can be converted into packets configured according to the communication scheme, and these configured packets can be transmitted to gateway node 120. Furthermore, management server 122 can receive receive acknowledgment messages transmitted from gateway node 120 using the communication scheme. In some cases, the acknowledgment message may be converted into a message format suitable for reception by management server 122 before being transmitted by gateway node 120.
[0067] In some implementations, command messages sent by management server 122 via gateway node 120 may include various commands for configuring or controlling different components of ESL system 100 as part of an iterative localization process for estimating the localization of various ESL devices (or “target ESLs”) in ESL system 100 based on the localization of “anchored ESLs” (e.g., ESL devices 108A to 108D). Reference will be made below. Figure 6 and Figure 10 In further detail, such commands may include control commands directed to each AP (e.g., each of APs 106A and 106B) and each ESL device in ESL system 100 to initiate a positioning session during which an iterative positioning process is performed. Furthermore, as will be described in further detail below, target ESL devices may include any new or recently deployed ESL device whose positioning within the environment is unknown, uncertain, or inaccurate (e.g., based on positioning errors exceeding the maximum positioning error tolerance). Anchored ESL devices may include the initial set of ESL devices (e.g., ESL devices 108A to 108D) installed during the initial deployment of ESL system 100 and whose positioning within environment 110 is known.
[0068] 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 a message to be transmitted to ESL device 108A into a packet according to a communication scheme, and transmit the configured packet to ESL device 108A by commanding AP 106A to send the packet. Furthermore, gateway node 120 may transmit a receipt acknowledgment message received from ESL device 108A to the management server 122 via AP 106A.
[0069] Each of ESL devices 108A to 108D may include a display (such as a liquid crystal display (LCD)) 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 may be received from gateway node 120. ESL devices 108A to 108D may change price information or be activated or deactivated while communicating with gateway node 120. The store manager may transmit commands to management server 122 regarding synchronization between products and designated ESL devices and / or commands for correcting information about products assigned to specific ESL devices. Figure 1C An example of an ESL device 108C 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 unit (SKU) and / or product link (e.g., URL or QR code).
[0070] Each of the ESL devices 108A to 108D can be configured with a microcontroller including memory and a microprocessor for performing various operations. The ESL devices 108A to 108D can, for example... Figure 4 The configuration shown, in which the microcontroller is configured to send or receive beacon frames or messages, will be referenced below. Figures 6 to 10 Further description.
[0071] 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 in the area surrounding 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 up by users in the environment. Furthermore, 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.
[0072] In some implementations, management server 122 can apply an object recognition model or system 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, BLE device 124, and / or other devices within the retail environment 110.
[0073] As described above, the retail environment 110 associated with ESL system 100 may include ESL equipment organized on display shelves and racks. Figure 2A An example of this type of display shelf is shown in the image. Figure 2A This is a perspective view of a display rack 112A with ESL equipment according to some embodiments of this disclosure. The display rack 112A may include multiple shelves 202A to 202D at different vertical levels from the floor. ESL equipment may be attached to the shelves 202A to 202D. For example, ESL equipment 108A may be attached to shelf 202A to display information about products stored on shelf 202A and in the vicinity of ESL equipment 108A.
[0074] ESL devices can provide information to shoppers or store employees operating in the environment, such as providing information about products and / or assisting in determining the location of products or users. Figure 2B This is a top view of the aisle between display shelves 112A and 112B according to some embodiments of this disclosure, wherein the ESL equipment on the shelves of each display shelf is accessible to the user. Figure 2B As shown, display shelf 112A may include densely deployed ESL devices 208 (including ESL device 108A), with adjacent ESL devices evenly spaced along shelf 202A. Additional ESL devices may be similarly positioned along other shelves of display shelf 112A and shelves of display shelf 112B. The location of a specific product can be determined using ESL device 208 when a user pushes shopping cart 212 through an aisle. For example, a mobile device associated with shopping cart 212 can use RF measurements of radio signals broadcast by ESL device 208 (and / or other nearby ESL devices) to estimate the current location of the user (and shopping cart 212) within the environment and guide the user to the desired product location 210 on the appropriate shelf of display shelf 112A.
[0075] like Figure 3 As illustrated, communication between APs (such as AP106A) and ESL devices (such as ESL devices 108A to 108D) within ESL system 100 can be performed according to a Time Division Multiple Access (TDMA) scheme. Figure 3 This is a timing diagram illustrating time-division multiplexing for communication between an AP and various ESL devices within an ESL system, according to some embodiments of this disclosure. For example... Figure 3 As shown, each ESL device in the AP and ESL system can be assigned one of various time periods or time slots for sending or receiving information. It should be understood that a similar TDMA scheme can be used for communication between different ESL devices.
[0076] 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.
[0077] An ESL device may include components configured together to provide some or all of the functionalities described in this disclosure and / or to provide 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.
[0078] 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, including 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), wherein 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.
[0079] 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 to flash at a specific time and / or flash in a specific color based on a command received from gateway node 120. For example, notification LED 402 may flash to draw a user's attention to a specific location on the shelf. Electronic display 404 may be, for example, an electronic ink (e-Ink) display configured to output product information.
[0080] 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, in order to provide a long usage period (e.g., longer than several years) for a single battery charge, 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, ESL device 400 wakes up to perform communication operations. In some embodiments, ESL device 400 may respond to an AP from the ESL system (e.g., as described above). Figure 1BAP 108A) or management server (e.g., Figure 1B The management server 122) is awakened upon receiving the command message.
[0081] Return to Figure 1B In the example ESL system 100, management server 122 can generate command messages for ESL devices 108A to 108D and other ESL devices in environment 110 and send these command messages via gateway node 120. As described above, such command messages may include commands for configuring or controlling different components of ESL system 100 as part of an iterative localization process for estimating the unknown or uncertain localization of various target ESL devices of ESL system 100 based on the known localization of anchored ESL devices (e.g., ESL devices 108A to 108D).
[0082] For example, the locations of ESL devices 108A to 108D (and other anchored devices or nodes of ESL system 100) may be known because they are manually entered into the ERP inventory management system by users (e.g., store clerks) via the user interface of management server 122. These locations may be stored in the ERP system's database during the initial deployment of ESL system 100. In this example, users may use any of a variety of technologies, such as physical measurements and calibrations performed by users or robots (e.g., autonomous guided vehicles (AGVs) or autonomous mobile robots (AMRs)), to determine the locations of ESL devices 108A to 108D. Known locations may also be determined based on RF measurements collected for each device during initial deployment. The type of signal may vary depending on the existing technology infrastructure of retail environment 110. The infrastructure may include, for example, Wi-Fi access points, cameras (e.g., OTT camera 102 and shelf cameras 104A to 104D), Global Navigation Satellite System (GNSS) antennas, and 5G NR Transmitter Points (TRPs).
[0083] Known location data associated with each of ESL devices 108A to 108D may include, for example, the location of the device in a three-dimensional (3D) grid representing the retail environment 110. x - y - z Coordinates. Additionally or alternatively, the positioning data may include a coordinate corresponding to the relative position of the device on a two-dimensional (2D) grid representing one or more shelves to which the device is attached (e.g., display shelf 112A). x - yCoordinates. The location data may also include a coarse location of the device, which identifies the specific aisle, display shelf, and / or shelf within the retail environment 110. This coarse location can then be used, as will be described in further detail below, to refine the estimated location of nearby target ESL devices during successive iterations of the disclosed iterative location technique.
[0084] The location of each target ESL device can be estimated based on RF measurements of location signals exchanged between the target ESL device and one or more anchor ESL devices. In some implementations, all ESL devices in the ESL network can be ranked according to the relative accuracy of the location associated with each device. Since the locations of the anchor devices (such as ESL devices 108A to 108D) are known, each of these devices can be considered to have an absolute location and is therefore assigned the highest ranking (e.g., ranking 1).
[0085] However, the ranking of each target device can vary depending on the level of error or uncertainty associated with the device's estimated positioning. For example, the positioning error of a device's estimated positioning can be determined based on the relative strength or quality of the positioning signals collected by each target device from the anchored ESL device or the ranked ESL device (e.g., based on the geometrical precision attenuation factor (GDOP) value, signal-to-noise ratio (SNR), or other quality metrics associated with the measured signal). For example, the strength or quality of the radio signal measured by the target ESL device may be affected by GDOP, depending on the device's position relative to the anchoring device transmitting the signal. Therefore, to improve signal quality and reduce positioning error, at least one anchored ESL device near the target ESL device can be identified that forms a favorable geometry relative to the target ESL device's estimated positioning (e.g., its known positioning is at a specific angle that reduces GDOP). In this example, management server 122 can send a command to the identified anchoring device to broadcast a radio signal for measurement by the target ESL device (e.g., during the second iteration of a positioning session initiated between the target device and the anchoring device within environment 110). Additional iterations of the positioning session can be performed to further refine the estimated positioning of the target ESL device until the positioning error falls below the maximum positioning error tolerance. The estimated positioning of the target device at each iteration can be based on additional positioning measurements from signals transmitted by one or more anchoring devices with favorable geometry in the vicinity of the estimated positioning from the previous iteration.
[0086] In some implementations, the location estimate of each target ESL device can be determined based on a weighted average of the anchored ESL device locations, where the weights can be a function of Received Signal Strength Indicator (RSSI) measurements calculated for radio signals received from each anchored device. In some implementations, each target ESL device can be ranked based on the level of uncertainty or error in the location estimate and / or the quality of the RSSI measurements used for the estimated location. The ranking can be based, for example, on a set of quantization intervals that can be defined to represent different signal strength levels, where each interval corresponds to a range of RSSI values. The RSSI measurements or sets of measurements collected by each device can be mapped to appropriate quantization intervals based on the corresponding RSSI values. A ranking can then be assigned to each ESL device based on the quantized RSSI data (e.g., based on the average quantized RSSI value associated with each ESL device), where target ESL devices with higher average RSSI values may have higher rankings because they typically have stronger signal strength relative to neighboring devices. Reference will be made below. Figure 5 In further detail, the localization and / or ranking of the target ESL devices can be performed in multiple iterations until the localization error determined for each target device is less than the maximum localization error tolerance (or all target devices have reached an acceptable ranking).
[0087] Figure 5 These are examples of some embodiments of this disclosure in indoor environments (e.g., as described above). Figure 1B A diagram illustrating an example process for iteratively locating ESL devices within a retail environment (110). Although Figure 5 Only ESL devices 1 to 6 are shown in this paper, but the iterative localization technique disclosed herein can be applied to any number of ESL devices. Figure 5 In the example, ESL device 1 can represent the anchor (or rank 1) node or device in the ESL system, whose location in the environment is known. (See above regarding...) Figure 2A As described, ESL device 1 may correspond to, for example, ESL device 108A attached to shelf 202A of display shelf 112A. ESL devices 2 to 6 may represent unranked target nodes or devices of the ESL system that have unknown or uncertain locations along shelf 202A or shelf 202B.
[0088] During the first iteration of process 500, the location or position of each of the target ESL devices 2 to 6 can be estimated based on location measurements (e.g., RSSI and / or other RF measurements) of radio signals received from the anchored ESL device 1 located at position 501 along shelf 202A. For example, after the first iteration, target ESL devices 2 and 3 can be estimated to be located at positions 502a and 503a along shelf 202A, and target ESL devices 4, 5, and 6 can be estimated to be located at positions 504a, 505a, and 506a along shelf 202B, respectively.
[0089] As described above, the positioning error associated with the estimated positioning of each target device can also be determined. This assignment can also be ranked based on the quality of the positioning measurements collected by each of the target ESL devices 2 through 6 and / or the level of uncertainty or positioning error associated with the corresponding positioning estimate, as described above. The positioning estimate may vary depending on the quality of the signal received by the device (e.g., based on SNR or other signal quality metrics) and / or the degree to which the device is affected by GDOP. To reduce positioning error and thereby improve the accuracy of the positioning estimate, each of the target devices 2 through 6 may exchange and collect additional positioning (RF) measurements during one or more subsequent iterations of process 500. For example, after a subsequent iteration, target ESL devices 2 and 3 may be estimated to be at positions 502b and 503b along shelf 202A, and target ESL devices 4, 5, and 6 may be estimated to be at positions 504b, 505b, and 506b along shelf 202B, respectively.
[0090] Additional iterations (e.g., up to a desired threshold number for a particular implementation) may be performed until the positioning error associated with the estimated positioning of each target device is less than the maximum positioning error tolerance, or until all target ESL devices 2 through 6 are assigned an acceptable ranking or positioning estimate. In some implementations, the positioning estimates may be averaged over multiple iterations (and time) to improve accuracy. In some cases, any target ESL device that still has a low ranking or a positioning estimate whose positioning error is greater than the maximum positioning error tolerance after multiple iterations may be manually or individually positioned or calibrated, for example, by a store clerk or automated robot (e.g., an AGV or AMR described above). For example, a notification identifying the target ESL device that requires manual positioning or calibration may be sent to a user device associated with the ESL system or indoor environment.
[0091] In some implementations, the accuracy of location estimation can be improved based on additional information about the known infrastructure or layout of the ESL system deployed within the environment. This information may reveal, for example, that the ESL devices of the ESL system are deployed within the environment according to a standardized topology in which adjacent ESL devices are horizontally and uniformly spaced on the same shelf and vertically and uniformly spaced across different shelves. For example, ESL devices can be located along their respective shelves 202A and 202B based on a uniform horizontal spacing 510 between adjacent ESL devices on the same shelf (such as ESL device 1 and ESL device 2 on shelf 202A) and a uniform vertical spacing 520 between adjacent ESL devices on different shelves (such as ESL device 1 on shelf 202A and ESL device 4 on shelf 202B). This information can be used to resolve ambiguities and perform corrections. This information also allows location estimation errors or inaccuracies to be interpreted as part of a matching problem, where a best-fit method (which can be solved numerically) can be found given the known topology of the ESL devices.
[0092] In addition to using ESL topology information, or as an alternative, the coarse location of each of ESL devices 1 through 6 can be used to reduce positioning errors and improve the accuracy of the estimated location at each iteration. For example, each ESL device can be associated with a unique device identifier (such as a MAC address, ESL identification (ID) number, etc.) and one or more identifiers (such as shelf number, display shelf number, and / or aisle number) corresponding to its coarse location in the environment. During the initial installation or deployment of each ESL device in the environment, users (such as store clerks) can enter these identifiers for that ESL device into the ERP inventory management system, as described above. The coarse location identifier can be used to identify one or more anchored ESL devices (such as ESL device 1) located near the target ESL device (such as ESL devices 2 through 6) (e.g., in the same aisle, display shelf, or shelf) and trigger a positioning transmission from the identified anchored device for measurement by the target ESL device. Given the proximity of the identified anchored ESL device to each target ESL device, the positioning transmission may result in a more favorable geometry with less GDOP. GDOPs may include, for example, horizontal GDOPs, vertical GDOPs, and / or GDOPs that can be represented according to a signal propagation plane formed by the passageways (e.g., parallel or perpendicular to each passageway).
[0093] In some implementations, an iterative positioning process can be performed on a target ESL device corresponding to one or more shelves or an entire display shelf that has been moved or reorganized (e.g., as part of relocating inventory, changing store layout, or making room for new shelves). The nature of this reorganization can be known a priori, for example, based on information stored in an ERP inventory management system accessible to the management server 122, as described above. The ERP system can identify, for example, any ESLs that will be moved (i.e., whose positioning is expected to be changed), any ESLs whose positions relative to each other will not be affected (e.g., ESLs located on an entire row, shelf, or display shelf that will be moved), the direction vector in which the ESL will be moved (e.g., if the display shelf is rotated 90 degrees), and the new location of the reference point for any ESL used for manual positioning (such as a corner of the display shelf) (if available). In some cases, this information can be relayed to the corresponding ESL AP associated with the affected ESL, which in turn can trigger a self-positioning session for the affected ESL. Furthermore, any prior knowledge about the reorganization of the ESL device can be used to calculate the new location of the affected ESL. For example, given a known direction vector or position of the reference point, an offset can be added to the previous position of each affected ESL to obtain its new position.
[0094] In some implementation schemes, the following will be referenced Figure 6 In further detail, each iteration of the localization process used to estimate the location of the target ESL device can be performed by the server of the ESL system (e.g., Figure 1B The management server 122) is used as part of the location session to execute.
[0095] Figure 6 This is a signaling diagram illustrating an example communication flow 600 between different components of an ESL system during a positioning session for estimating the location of a target ESL device (or target ESL) 625 within an indoor environment based on the known location of the anchored ESL 615, according to some embodiments of this disclosure. The known location of the anchored ESL 615 can be determined by server 122 based on information stored in an ERP system accessible to server 122 for these ESLs, as described above. For discussion purposes, the location described above will be used. Figure 1B The components of the ESL system 100 are used to describe the communication process 600, but the communication process 600 is not intended to be limited thereto.
[0096] like Figure 6As shown, communication flow 600 begins at step 602, in which server 122 may trigger a location session, for example, by sending an initial command to each of APs 106A and 106B (or collectively referred to as "ESL AP 106"). In some implementations, the initial command may be transmitted via the gateway node of the ESL system (e.g., as described above). Figure 1B (Transmitted to gateway node 120).
[0097] At 604, AP 106 can be ranked 1st in the environment or anchored to ESL 615 (e.g., including those described above). Figure 1B The AP 106 issues control commands to the ESL devices 108A to 108D. At 606, the AP 106 can issue similar control commands to other ESLs (i.e., target ESLs) 625 within the environment. The control commands transmitted by the AP 106 may include, for example, scheduling information having time slots for transmitting and receiving radio signals (e.g., beacon messages or frames) according to a Time Division Multiple Access (TDMA) scheme, a Frequency Division Multiple Access (FDMA) scheme, or a combination of TDMA and FDMA. For example, the scheduling information included in the control commands transmitted by the AP 106 to the anchor ESL 615 and the target ESL 625 may include appropriate time slots for each device to transmit and / or receive radio signals (e.g., beacon frames) for a period of time, such as... Figure 7 As shown.
[0098] Figure 7 This is a diagram illustrating a time-division multiplexing TDMA schedule 700 for communication between a ranked (anchored) ESL 715 and other (target) ESL 725s according to some embodiments of this disclosure. Figure 7 As shown, TDMA scheduling 700 can be used to allocate time slots for transmitting signals (e.g., beacon frames) to each of the anchored ESLs 715s (ESL-1 to ESL-4) within different time frames, and to allocate time slots for receiving signals to each of the target ESLs 725s (ESL-5 to ESL-10). For example, all target ESLs 725s can be placed in receive (Rx) mode to receive signals from each of the anchored ESLs 715s placed in transmit (Tx) mode at the corresponding time slot within the first time frame 702. In contrast, only a subset of target ESLs 725s (e.g., ESL-5, ESL-6, and ESL-8) can be allocated time slots to receive signals from a subset of anchored ESLs 715s (e.g., ESL-1, ESL-3, and ESL-4) within the second time frame 704. In some implementations, multiple transmissions may be multiplexed or overlapped on a common channel supported by a specific communication standard, such as the public announcement channel under the Bluetooth standard.
[0099] Return to Figure 6 At 608, anchored ESL 615 can begin broadcasting radio signals to be received and measured by other (target) ESL 625s based on scheduling information received from AP 106 at 604.
[0100] At 610, the target ESL 625 may transmit RF measurements of the received signals to the appropriate ESL AP 106. In some implementations, the communication flow 600 may include an optional step 612, where the anchored ESL 615 also transmits RF measurements to the ESL AP 106 based on the radio signals received from the target ESL 625. At 614, the ESL AP 106 may relay at least the RF measurements received from the target ESL 625 to the server 122. At 616, the server 122 may use the received RF measurements to estimate the location of the target ESL 625.
[0101] At 616, server 122 may also determine a positioning error representing the level of uncertainty associated with the estimated location of each of the target ESLs 625. In some implementations, server 122 may assign a ranking to each of the target ESLs 625 based on the positioning error or uncertainty. If the positioning error is greater than a maximum positioning error tolerance, communication process 600 may be repeated for one or more additional positioning sessions triggered by server 122 to perform one or more subsequent iterations of the positioning process until the positioning error associated with each of the estimated locations is less than the positioning error tolerance, as described above.
[0102] In some implementations, the control commands sent by AP 106 to ESL devices 615 and 625 may be part of a beacon message within a synchronization packet periodically broadcast by AP 106. Figure 8A An example of such a beacon message is shown.
[0103] Figure 8A This is a block diagram illustrating an example of an AP beacon message 800. (Example follows) Figure 8A As shown, the AP beacon message 800 includes a group identifier (ID) field 810 and an ESL payload 820. The group ID in field 810 can be assigned to a group of one or more ESL devices (such as a group of one or more target ESLs). The ESL payload 820 can include a sequence of control commands, where each command is in the format "Len Cmd Value" (or "LCV"). In this example, the LCV command could be intended for use with each ESL within the group specified by the group ID in field 810. It should be understood that the group in this context may include only one ESL device.
[0104] Figure 8BAn example format of an LCV command 822 that can be included in the ESL payload 820 of a beacon message 800 is shown. The LCV command 822 may include features designed for use with… Figure 8A The group ID specified in the group ID field 810 of beacon message 800 corresponds to various commands for each ESL device in that group of ESL devices. For example... Figure 8B As shown, LCV command 822 may include parameters 830 for controlling device operation and for timing the transmission and reception of communications. For example, parameter 830 may include a command to place a subset of target ESLs (corresponding to group IDs) within the indoor environment into sleep mode for a specified time period. In sleep mode, each device ceases attempting to receive and decode each beacon message that may be transmitted on a specific channel or during a beacon interval, which helps conserve device battery power. To enable device responsiveness, a wake-up period may be included in parameter 830 of LCV command 822.
[0105] In some implementations, parameter 830 of LCV command 822 may include parameter 832, which specifies the set of channels (and corresponding time slots) to be listened to when a subset of ESLs is operating in receive mode. Additionally, parameter 834 may specify the time slots for each device to send a response message to the appropriate AP of the ESL system via the communication uplink, wherein each sent message must include measurement data specific to the time slots being listened to or scanned while the device is operating in receive mode.
[0106] In some implementations, LCV command 822 may specify parameters for the configuration of the 5G New Radio (NR) Sidelink (SL) Positioning Reference Signal (PRS). Therefore, a positioning session can be an SL PRS ranging session initiated based on the SL PRS configuration sent to each ESL device in a set of ESL devices corresponding to a specific group ID. In some cases, the group ID may correspond to a combined set of ESL devices that includes both the rank 1 (anchored) ESL and the other (target) ESLs.
[0107] Figure 9A This is a flowchart of an example procedure 900A, according to some embodiments of this disclosure, for locating a UE based on PRS measurements exchanged between the initiating user equipment (UE) and the target UE during a 5G NR-SL ranging session. Figure 9AAs shown, process 900A can begin with the initiating UE and the target UE exchanging information about the capabilities of each device (such as whether the device includes support for unlicensed frequency bands). Next, the initiating UE can transmit a pre-PRS message to the target UE specifying various session parameters (e.g., session ID, PRS channel, and one or more transmission slots). The target UE can respond with a PRS response message acknowledging its availability for PRS transmission during the specified time slot. Optional PRS confirmation messages can be exchanged, acknowledging the session with or without any further modifications. Following confirmation, post-PRS messages (e.g., including PRS measurements, UE location, and UE motion status) can be exchanged between the initiating and target devices on the unlicensed PRS frequency bands supported by each device. Each UE can use the information included in the received post-PRS messages to calculate the distance and location of the other UE.
[0108] Process 900A can be extended to include multiple target UEs, such as Figure 9B As shown. Figure 9B This is another flowchart of Example Procedure 900B, in which each UE uses PRS measurements included in the PRS post-message exchanged between the initiating UE and multiple target UEs during the NR-SL ranging session to perform positioning calculations.
[0109] Figure 10 This is a signaling diagram illustrating an example communication flow 1000 between different devices in an ESL system for iteratively locating an ESL device based on PRS measurements during an SL ranging or positioning session, according to some embodiments of this disclosure. In this example, the initiator of the SL ranging / positioning session may be an ESL AP 106A, and the target may include a combination of a ranked (or anchored) ESL 1015 and other ESL 1025s within the environment.
[0110] At position 1002, server 122 (e.g., via...) Figure 1B The gateway node 120 can, for example, trigger a location session by sending an initial command to the AP 106A.
[0111] At 1004, server 122 and AP 106A can negotiate PRS configuration parameters, as described above. At 1006, AP106A can transmit PRS pre-messages with various session parameters to Rank 1 ESL 1015 and other ESL 1025s.
[0112] At 1008, ESL 1015, ranked 1, begins broadcasting PRS frames for ESL 1025 to receive, for example, based on parameters received from AP106A at 1006.
[0113] At 1010, a post-PRS message, including PRS measurements of the PRS frames received by ESL 1025, is sent to AP106A. The post-PRS message may also include PRS measurements of the PRS frames received by ESL 1015 from AP 106A. At 1012, AP106A relays the PRS measurements to server 122. At 1014, server 122 can use the PRS measurements to estimate the positioning of ESL 1015 and 1025.
[0114] At 1014, server 122 may also determine a positioning error representing the level of uncertainty associated with the estimated positioning of each ESL. As described above, server 122 may also assign a ranking to each ESL based on the positioning error or uncertainty. If the positioning error is greater than the maximum positioning error tolerance, communication process 1000 may be repeated for one or more subsequent iterations of the positioning process for one or more additional positioning sessions triggered by server 122 until the positioning error associated with the estimated positioning of each ESL is less than the positioning error tolerance, as described above.
[0115] Figure 11 This is a flowchart of an example method 1100 for iteratively locating ESL devices of an ESL system deployed in an indoor environment, according to some embodiments of this disclosure. For discussion purposes, the methods described above will be used. Figure 1B Method 1100 is described using ESL system 100. For example, as described above, method 1100, which includes the operations described below, can be executed by management server 122 of ESL system 100.
[0116] Method 1100 begins at box 1102, which includes determining the known locations of a first subset of electronic shelf label (ESL) devices deployed within an indoor environment. The ESL devices in the first subset may be anchored nodes of an ESL system whose locations within the indoor environment are known, as described above.
[0117] At box 1104, positioning measurements can be received for each ESL device in a second subset of ESL devices deployed within the indoor environment. The ESL devices in the second subset can be target devices whose positioning is unknown or uncertain.
[0118] At box 1106, the first location of the ESL device is estimated based on the location measurement received for each ESL device in the second subset and the known location of the ESL device in the first subset.
[0119] At box 1108, the positioning error associated with the first positioning of each ESL device in the second subset is determined.
[0120] At box 1110, a second location of the ESL device is estimated based on the location error associated with the first location and additional location measurements received for each ESL device in the second subset. For example, the first location of each (target) ESL device in the second subset can be used as a coarse location estimated by the device during the first iteration of method 1100. Therefore, the first location can be further refined based on additional location measurements obtained for each target device in one or more subsequent iterations, for example, until the estimated location for each target ESL device is less than a maximum location error tolerance.
[0121] Please note that, referring to Figure 1 to... Figure 4 One or more boxes (or operations) described may be combined with one or more boxes (or operations) described in another figure in the reference diagram. For example, Figure 11 One or more boxes (or operations) can be associated with Figures 1 to 12. Figure 4 A combination of one or more boxes (or operations).
[0122] 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. In a first aspect, a method includes: determining a known location of a first subset of Electronic Shelf Tag (ESL) devices; receiving a location measurement for each ESL device in a second subset of the ESL devices; estimating a first location of the ESL devices based on the received location measurement for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL devices based on the location error and additional location measurements received for each ESL device in the second subset.
[0123] In a second aspect, in conjunction with the first aspect, the positioning measurement includes radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of ESL devices.
[0124] In a third aspect, in conjunction with one or more of the first or second aspects, the radio signal is broadcast by the first subset of the ESL devices according to at least one of a time division multiple access (TDMA) scheme or a frequency division multiple access (FDMA) scheme.
[0125] In a fourth aspect, in conjunction with one or more of the first to third aspects, the positioning error associated with the first positioning of each ESL device in the second subset is based on one or more measurement errors associated with the RF measurements collected by the ESL device.
[0126] In a fifth aspect, in conjunction with one or more of the first to fourth aspects, the one or more measurement errors are based on at least one of the following: the signal-to-noise ratio of the corresponding RF measurement or the geometric accuracy attenuation factor of the known positioning of each ESL device in the second subset relative to each ESL device in the first subset.
[0127] In a sixth aspect, in conjunction with one or more of the first to fifth aspects, the method further includes: determining that the positioning error associated with the first positioning of each ESL device in the second subset is greater than a maximum positioning error tolerance; identifying at least one ESL device in the first subset, for which the known location is near the first positioning of each ESL device in the second subset; and sending a command to the at least one ESL device in the first subset identified for each ESL device in the second subset for broadcasting the radio signal for measurement by the corresponding ESL device in the second subset.
[0128] In a seventh aspect, in conjunction with one or more of the first to sixth aspects, a first subset and a second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, each ESL device in the first subset and the second subset being attached to a shelf of at least one of the plurality of display shelves in the retail environment, and the method further comprising: sending a notification to a user device associated with the retail environment, the notification identifying at least one ESL device in the second subset, wherein for the at least one ESL device, the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.
[0129] In an eighth aspect, in conjunction with one or more of the first to seventh aspects, the method further includes: receiving an indication of a change in the known location of one or more ESL devices in the first subset; in response to receiving the indication, sending a command to each ESL device in a combined set of ESL devices for initiating a location session, the combined set including the one or more ESL devices in the first subset and each ESL device in the second subset; estimating the location of the ESL device based on additional location measurements received for each ESL device in the combined set during the location session; determining the location error associated with the estimated location of each ESL device in the combined set; and sending a notification to a user equipment identifying at least one ESL device in the combined set, for which the location error is greater than a maximum location error tolerance.
[0130] In a ninth aspect, in conjunction with one or more of the first to eighth aspects, the command sent to each ESL device in the combined set includes scheduling information for ESL devices in different groups within the combined set, and wherein the scheduling information includes a group identifier, a communication channel, and a time slot for communication via the communication channel.
[0131] In a tenth aspect, in conjunction with one or more of the first to ninth aspects, the command includes a side-link (SL) positioning reference signal (PRS) configuration, wherein the positioning session is an SL PRS ranging session initiated based on the SL PRS configuration sent to each ESL device in the combined set.
[0132] In an eleventh aspect, an apparatus includes: a memory storing processor-readable code; and at least one processor coupled to the memory, the at least one processor being configured to execute the processor-readable code to cause the at least one processor to perform operations including: determining a known location of a first subset of electronic shelf label (ESL) devices; receiving a location measurement for each ESL device in a second subset of the ESL devices; estimating a first location of the ESL devices based on the location measurement received for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL devices based on the location error and additional location measurements received for each ESL device in the second subset.
[0133] In the twelfth aspect, in conjunction with the eleventh aspect, the positioning measurement includes radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of ESL devices.
[0134] In the thirteenth aspect, in conjunction with one or more of the eleventh or twelfth aspects, the radio signal is broadcast by the first subset of the ESL devices according to at least one of a time division multiple access (TDMA) scheme or a frequency division multiple access (FDMA) scheme.
[0135] In the fourteenth aspect, in conjunction with one or more of the eleventh to thirteenth aspects, the positioning error associated with the first positioning of each ESL device in the second subset is based on one or more measurement errors associated with the RF measurements collected by the ESL device.
[0136] In the fifteenth aspect, in conjunction with one or more of the eleventh to fourteenth aspects, the one or more measurement errors are based on at least one of the following: the signal-to-noise ratio of the corresponding RF measurement or the geometric accuracy attenuation factor of the known positioning of each ESL device in the second subset relative to each ESL device in the first subset.
[0137] In a sixteenth aspect, in conjunction with one or more of aspects eleven through fifteen, the operation further includes: determining that the positioning error associated with the first positioning of each ESL device in the second subset is greater than a maximum positioning error tolerance; identifying at least one ESL device in the first subset, for which the known location is near the first positioning of each ESL device in the second subset; and sending a command to the at least one ESL device in the first subset identified for each ESL device in the second subset for broadcasting the radio signal for measurement by the corresponding ESL device in the second subset.
[0138] In a seventeenth aspect, in conjunction with one or more of aspects eleven through sixteen, a first subset and a second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, each ESL device in the first subset and the second subset being attached to a shelf of at least one of the plurality of display shelves in the retail environment, and the operation further comprising: sending a notification to a user device associated with the retail environment, the notification identifying at least one ESL device in the second subset, for the at least one ESL device, wherein the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.
[0139] In an eighteenth aspect, in conjunction with one or more of aspects eleven through seventeen, the operation further includes: receiving an indication of a change in the known location of one or more ESL devices in the first subset; in response to receiving the indication, sending a command to each ESL device in a combined set of ESL devices for initiating a location session, the combined set including the one or more ESL devices in the first subset and each ESL device in the second subset; estimating the location of the ESL device based on additional location measurements received for each ESL device in the combined set during the location session; determining the location error associated with the estimated location of each ESL device in the combined set; and sending a notification to a user equipment identifying at least one ESL device in the combined set, for which the location error is greater than a maximum location error tolerance.
[0140] In the nineteenth aspect, in conjunction with one or more of the eleventh to eighteenth aspects, the command sent to each ESL device in the combined set includes scheduling information for ESL devices in different groups in the combined set, and the scheduling information includes a group identifier, a communication channel, and a time slot for communication via the communication channel.
[0141] In the twentieth aspect, in conjunction with one or more of the eleventh to nineteenth aspects, the command includes a side-link (SL) positioning reference signal (PRS) configuration, wherein the positioning session is an SL PRS ranging session initiated based on the SL PRS configuration sent to each ESL device in the combined set.
[0142] In a twenty-first aspect, in conjunction with one or more of the eleventh to twentyth aspects, a non-transitory computer-readable medium storing instructions, which, when executed by a processor, cause the processor to perform operations including: determining a known location of a first subset of electronic shelf label (ESL) devices; receiving a location measurement for each ESL device in a second subset of the ESL devices; estimating a first location of the ESL devices based on the location measurement received for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL devices based on the location error and additional location measurements received for each ESL device in the second subset.
[0143] In the twenty-second aspect, in conjunction with one or more of the eleventh to twenty-first aspects, the positioning measurement includes radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of ESL devices.
[0144] In the twenty-third aspect, in conjunction with one or more of the eleventh to twenty-second aspects, the positioning error associated with the first positioning of each ESL device in the second subset is based on one or more measurement errors associated with the RF measurements collected by the ESL device.
[0145] In the twenty-fourth aspect, in conjunction with one or more of the eleventh to twenty-third aspects, the one or more measurement errors are based on at least one of the following: the signal-to-noise ratio of the corresponding RF measurement or the geometric accuracy attenuation factor of the known positioning of each ESL device in the second subset relative to each ESL device in the first subset.
[0146] In a twenty-fifth aspect, in conjunction with one or more of aspects eleven to twenty-four, the operation further includes: determining that the positioning error associated with the first positioning of each ESL device in the second subset is greater than a maximum positioning error tolerance; identifying at least one ESL device in the first subset, for which the known location is near the first positioning of each ESL device in the second subset; and sending a command to the at least one ESL device in the first subset identified for each ESL device in the second subset for broadcasting the radio signal for measurement by the corresponding ESL device in the second subset.
[0147] In a twenty-sixth aspect, in conjunction with one or more of aspects eleven through twenty-five, a first subset and a second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, wherein each ESL device in the first subset and the second subset is attached to a shelf of at least one of the plurality of display shelves in the retail environment, and wherein the operation further comprises: sending a notification to a user device associated with the retail environment, the notification identifying at least one ESL device in the second subset, for the at least one ESL device, wherein the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.
[0148] In a twentieth aspect, an Electronic Shelf Label (ESL) system includes: a first subset of Electronic Shelf Label (ESL) devices; a second subset of ESL devices; and a server, the server including: a first memory; and a first at least one processor coupled to the first memory and configured to perform operations including: determining a known location of the first subset of ESL devices; receiving a location measurement for each ESL device in the second subset of ESL devices; estimating a first location of the ESL devices based on the location measurement received for each ESL device in the second subset and the known location of the first subset; determining a location error associated with the first location of each ESL device in the second subset; and estimating a second location of the ESL devices based on the location error and additional location measurements received for each ESL device in the second subset.
[0149] In the twenty-eighth aspect, in conjunction with the twenty-seventh aspect, the positioning measurement includes radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of ESL devices.
[0150] In a twenty-ninth aspect, in conjunction with one or more of the twenty-seventh or twenty-eighth aspects, the operation further includes: determining that the positioning error associated with the first positioning of each ESL device in the second subset is greater than a maximum positioning error tolerance; identifying at least one ESL device in the first subset, for which the known location is near the first positioning of each ESL device in the second subset; and sending a command to the at least one ESL device in the first subset identified for each ESL device in the second subset for broadcasting the radio signal for measurement by the corresponding ESL device in the second subset.
[0151] In the thirtieth aspect, in conjunction with one or more of the twenty-seventh to twenty-ninth aspects, the first subset and the second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, wherein each ESL device in the first subset and the second subset is attached to a shelf of at least one of the plurality of display shelves in the retail environment, and wherein the operation further comprises: sending a notification to a user device associated with the retail environment, the notification identifying at least one ESL device in the second subset, for the at least one ESL device, wherein the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.
[0152] 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.
[0153] 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 may 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 may be combined or performed in ways other than those illustrated and described herein.
[0154] 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.
[0155] 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, 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.
[0156] 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.
[0157] 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. In addition, 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.
[0158] 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.
[0159] 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.
[0160] Similarly, although operations are depicted in a specific order in the accompanying drawings, 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 drawings 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.
[0161] 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: Determine the known locations of a first subset of Electronic Shelf Label (ESL) devices; Receive positioning measurements for each ESL device in the second subset of ESL devices; The first location of the ESL device is estimated based on the location measurements received for each ESL device in the second subset and the known location of the first subset; Determine the positioning error associated with the first positioning of each ESL device in the second subset; as well as The second positioning of the ESL device is estimated based on the positioning error and additional positioning measurements received for each ESL device in the second subset.
2. The method of claim 1, wherein the positioning measurement comprises radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of ESL devices.
3. The method of claim 2, wherein the radio signal is broadcast by the first subset of the ESL device according to at least one of a time division multiple access (TDMA) scheme or a frequency division multiple access (FDMA) scheme.
4. The method of claim 2, wherein the positioning error associated with the first positioning of each ESL device in the second subset is based on one or more measurement errors associated with the RF measurements collected by the ESL device.
5. The method of claim 4, wherein the one or more measurement errors are based on at least one of: the signal-to-noise ratio of the corresponding RF measurement or the geometric accuracy attenuation factor of the known positioning of each ESL device in the second subset relative to each ESL device in the first subset.
6. The method according to claim 2, further comprising: The positioning error associated with the first positioning of each ESL device in the second subset is determined to be greater than the maximum positioning error tolerance; Identify at least one ESL device in the first subset, wherein the known location of the at least one ESL device is near the first location of each ESL device in the second subset; as well as A command is sent to at least one ESL device in the first subset, for each ESL device identifier in the second subset, to broadcast the radio signal for measurement by the corresponding ESL device in the second subset.
7. The method of claim 6, wherein the first subset and the second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, wherein each ESL device in the first subset and the second subset is attached to a shelf of at least one of the plurality of display shelves in the retail environment, and wherein the method further comprises: A notification is sent to user devices associated with the retail environment, the notification identifying at least one ESL device in the second subset, for which the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.
8. The method according to claim 1, further comprising: Receive an indication of a change in the known location of one or more ESL devices in the first subset; In response to receiving the instruction, a command for initiating a location session is sent to each ESL device in the combined set of ESL devices, the combined set including the one or more ESL devices in the first subset and each ESL device in the second subset; The location of the ESL device is estimated based on additional location measurements received for each ESL device in the combined set during the location session. Determine the positioning error associated with the estimated positioning of each ESL device in the combined set; as well as A notification is sent to the user equipment, the notification identifying at least one ESL device in the combined set, for which the positioning error is greater than the maximum positioning error tolerance.
9. The method of claim 8, wherein the command sent to each ESL device in the combined set includes scheduling information for ESL devices in different groups in the combined set, and wherein the scheduling information includes a group identifier, a communication channel, and a time slot for communication via the communication channel.
10. The method of claim 8, wherein the command includes a side-link (SL) positioning reference signal (PRS) configuration, and wherein the positioning session is an SL PRS ranging session initiated based on the SL PRS configuration sent to each ESL device in the combined set.
11. An apparatus comprising: Memory, the memory storing processor-readable code; as well as At least one processor coupled to the memory, the at least one processor being configured to execute processor-readable code to cause the at least one processor to perform operations including: Determine the known locations of a first subset of Electronic Shelf Label (ESL) devices; Receive positioning measurements for each ESL device in the second subset of ESL devices; The first location of the ESL device is estimated based on the location measurements received for each ESL device in the second subset and the known location of the first subset; Determine the positioning error associated with the first positioning of each ESL device in the second subset; as well as The second positioning of the ESL device is estimated based on the positioning error and additional positioning measurements received for each ESL device in the second subset.
12. The apparatus of claim 11, wherein the positioning measurement comprises radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of the ESL devices.
13. The apparatus of claim 12, wherein the radio signal is broadcast by the first subset of the ESL device according to at least one of a time division multiple access (TDMA) scheme or a frequency division multiple access (FDMA) scheme.
14. The apparatus of claim 12, wherein the positioning error associated with the first positioning of each ESL device in the second subset is based on one or more measurement errors associated with the RF measurements collected by the ESL device.
15. The apparatus of claim 14, wherein the one or more measurement errors are based on at least one of: the signal-to-noise ratio of the corresponding RF measurement or the geometric accuracy attenuation factor of the known positioning of each ESL device in the second subset relative to each ESL device in the first subset.
16. The apparatus of claim 12, wherein the operation further comprises: The positioning error associated with the first positioning of each ESL device in the second subset is determined to be greater than the maximum positioning error tolerance; Identify at least one ESL device in the first subset, wherein the known location of the at least one ESL device is near the first location of each ESL device in the second subset; as well as A command is sent to at least one ESL device in the first subset, for each ESL device identifier in the second subset, to broadcast the radio signal for measurement by the corresponding ESL device in the second subset.
17. The apparatus of claim 16, wherein the first subset and the second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, wherein each ESL device in the first subset and the second subset is attached to a shelf of at least one of the plurality of display shelves in the retail environment, and wherein the operation further comprises: A notification is sent to user devices associated with the retail environment, the notification identifying at least one ESL device in the second subset, for which the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.
18. The apparatus of claim 11, wherein the operation further comprises: Receive an indication of a change in the known location of one or more ESL devices in the first subset; In response to receiving the instruction, a command for initiating a location session is sent to each ESL device in the combined set of ESL devices, the combined set including the one or more ESL devices in the first subset and each ESL device in the second subset; The location of the ESL device is estimated based on additional location measurements received for each ESL device in the combined set during the location session. Determine the positioning error associated with the estimated positioning of each ESL device in the combined set; as well as A notification is sent to the user equipment, the notification identifying at least one ESL device in the combined set, for which the positioning error is greater than the maximum positioning error tolerance.
19. The apparatus of claim 18, wherein the command sent to each ESL device in the combined set includes scheduling information for ESL devices in different groups in the combined set, and wherein the scheduling information includes a group identifier, a communication channel, and a time slot for communication via the communication channel.
20. The apparatus of claim 18, wherein the command includes a side-link (SL) positioning reference signal (PRS) configuration, and wherein the positioning session is an SL PRS ranging session initiated based on the SL PRS configuration sent to each ESL device in the combined set.
21. A non-transitory computer-readable medium storing instructions, which, when executed by a processor, cause the processor to perform operations including: Determine the known locations of a first subset of Electronic Shelf Label (ESL) devices; Receive positioning measurements for each ESL device in the second subset of ESL devices; The first location of the ESL device is estimated based on the location measurements received for each ESL device in the second subset and the known location of the first subset; Determine the positioning error associated with the first positioning of each ESL device in the second subset; as well as The second positioning of the ESL device is estimated based on the positioning error and additional positioning measurements received for each ESL device in the second subset.
22. The non-transitory computer-readable medium of claim 21, wherein the positioning measurement comprises radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of ESL devices.
23. The non-transitory computer-readable medium of claim 22, wherein the positioning error associated with the first positioning of each ESL device in the second subset is based on one or more measurement errors associated with the RF measurements collected by the ESL device.
24. The non-transitory computer-readable medium of claim 23, wherein the one or more measurement errors are based on at least one of: the signal-to-noise ratio of the corresponding RF measurement or the geometric accuracy attenuation factor of the known positioning of each ESL device in the second subset relative to each ESL device in the first subset.
25. The non-transitory computer-readable medium of claim 22, wherein the operation further comprises: The positioning error associated with the first positioning of each ESL device in the second subset is determined to be greater than the maximum positioning error tolerance; Identify at least one ESL device in the first subset, wherein the known location of the at least one ESL device is near the first location of each ESL device in the second subset; as well as A command is sent to at least one ESL device in the first subset, for each ESL device identifier in the second subset, to broadcast the radio signal for measurement by the corresponding ESL device in the second subset.
26. The non-transitory computer-readable medium of claim 25, wherein the first subset and the second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, wherein each ESL device in the first subset and the second subset is attached to a shelf of at least one of the plurality of display shelves in the retail environment, and wherein the operation further comprises: A notification is sent to user devices associated with the retail environment, the notification identifying at least one ESL device in the second subset, for which the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.
27. An electronic shelf label (ESL) system, the electronic shelf label (ESL) system comprising: The first subset of Electronic Shelf Label (ESL) devices; The second subset of ESL devices; as well as A server, the server comprising: a memory; and at least one processor coupled to the memory and configured to perform operations including: Determine the known locations of the first subset of ESL devices; Receive positioning measurements for each ESL device in the second subset of ESL devices; The first location of the ESL device is estimated based on the location measurements received for each ESL device in the second subset and the known location of the first subset; Determine the positioning error associated with the first positioning of each ESL device in the second subset; and The second positioning of the ESL device is estimated based on the positioning error and additional positioning measurements received for each ESL device in the second subset.
28. The ESL system of claim 27, wherein the positioning measurement comprises radio frequency (RF) measurements collected by each ESL device in the second subset based on radio signals broadcast by the first subset of the ESL devices.
29. The ESL system of claim 28, wherein the operation further comprises: The positioning error associated with the first positioning of each ESL device in the second subset is determined to be greater than the maximum positioning error tolerance; Identify at least one ESL device in the first subset, wherein the known location of the at least one ESL device is near the first location of each ESL device in the second subset; as well as A command is sent to at least one ESL device in the first subset, for each ESL device identifier in the second subset, to broadcast the radio signal for measurement by the corresponding ESL device in the second subset.
30. The ESL system of claim 29, wherein the first subset and the second subset of ESL devices are deployed in a retail environment comprising a plurality of display shelves, wherein each ESL device in the first subset and the second subset is attached to a shelf of at least one of the plurality of display shelves in the retail environment, and wherein the operation further comprises: A notification is sent to user devices associated with the retail environment, the notification identifying at least one ESL device in the second subset, for which the positioning error associated with the second positioning is greater than the maximum positioning error tolerance.