Estimation of RFID Tag Positions from Multiple Data Inputs
A high-density RFID tag deployment with machine learning enhances positioning accuracy in multipath environments by constructing signal vectors from multiple readers and cameras, addressing the challenges of multipath interference.
Patent Information
- Application Number
- JP2024572328
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-10
- Filing Date
- 2023-06-12
- Publication Date
- 2025-07-24
AI Technical Summary
Accurately estimating the position of RFID tags in multipath environments is challenging due to the presence of objects that reflect and obstruct RF signals, leading to multiple signal paths and reduced read ranges, especially in non-line-of-sight conditions, where conventional methods like AoA and RSSI are limited in accuracy.
A system utilizing a high-density deployment of RFID tags and reference tags, combined with machine learning processes, to construct signal vectors from data inputs from multiple RFID readers and cameras, enabling precise positioning with uncertainties of less than one meter, even in complex environments.
The system achieves accurate RFID tag positioning with uncertainties of less than one meter by leveraging machine learning to analyze signal vectors and environmental data, improving accuracy in both line-of-sight and non-line-of-sight conditions.
Smart Images

Figure 2025523718000001_ABST
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims the benefit of priority under 35 U.S.C. § 119(e) of U.S. Patent Application No. 63 / 351,171, filed on Jun. 10, 2022, which is hereby incorporated by reference in its entirety for all purposes.
Background Art
[0002] Radio Frequency Identification (RFID) tags are low - cost devices that are attached to objects and provide expectations for, among other commercial and medical applications, particularly automatic positioning, tracking, sales check - out, and inventory taking. RFID tags can be wirelessly interrogated by an RFID reader, also called an RFID tag reader, reader, or sensor, and can emit a radio frequency (RF) response that includes information stored on the RFID tag, such as a tag identification number and an Electronic Product Code (EPC). Other information may be included in the response.
[0003] Passive RFID tags do not have a battery and are thus typically less expensive than semi - active and active RFID tags, which can be equipped with a battery. Passive RFID tags essentially absorb sufficient energy from the RF interrogation pulses transmitted by an RFID reader to backscatter an RF response. Although at a low cost (e.g., about 1 / 10 of the cost of an active tag), the response signal from a passive RFID tag is generally weaker than the response from a semi - active or active tag. As a result, the read range of a passive RFID tag can be significantly shorter than that of an active tag. For example, the read range of a passive tag is limited to 100 meters in a line - of - sight environment without intervening objects that interfere with the interrogation and response signals, while the read range of an active tag can exceed 500 meters in the same environment.
[0004] When RFID tags are deployed in a multipath environment, it can be difficult to estimate the position of each tag in an accurate manner. FIG. 1A shows a line-of-sight (LOS) multipath environment 100 with objects (such as floors, walls, ceilings, equipment, etc.) that can reflect and / or scatter the response signal from RFID tag 101. RFID reader 150 may receive multiple signals from tag 101 traversing multiple signal paths 141-145. In the simplified diagram of FIG. 1A, multipath environment 100 includes two walls 110, 112, and equipment 120 (such as a shelf or file cabinet) each of which can reflect at least a portion of the RF response from tag 101 to provide reflected signal paths 141, 143, 144, 145. In multipath environment 100 (which in a real-world implementation may include more signal paths than shown in FIG. 1A), due to the presence of multiple signal paths 141-145, accurately estimating the position of RFID tag 101 is a very difficult task. Conventional sophisticated approaches using multiple antennas to measure angle of arrival (AoA) and received signal strength indication (RSSI) are still limited in accuracy in a multipath environment and typically cannot perform RFID tag positioning with an uncertainty of less than 1 meter. The problem is exacerbated when there is no direct or line-of-sight (LOS) signal path 142 or when the LOS path is significantly attenuated (e.g., intervening objects can obstruct the signal along the direct signal path 142). SUMMARY OF THE INVENTION
[0005] The described implementations relate to the estimation of the position of RFID tags in line-of-sight (LOS) and non-line-of-sight (NLOS) multipath environments. RFID tags can be deployed at high density in an environment (e.g., at least one RFID tag per cubic meter), and the environment can include a large number of objects (movable and / or fixed) that can reflect and / or obstruct the RFID tag response to an interrogation signal. In some cases, RFID tags are attached to different objects (e.g., merchandise), and there can be more than 100 such product RFID tags per cubic meter.
[0006] An apparatus for positioning RFID tags can include a plurality of RF sensors located within an environment, and can further include reference RFID tags arranged at low density (e.g., less than one reference tag per cubic meter). A tag positioning system including at least one processor can receive signals from the plurality of RF sensors and generate data inputs that are processed using one or more methods for determining tag positions. At least a portion of the data inputs can be used to form a tag signature or signal vector for each RFID tag. Each signal vector can include various information or characteristics obtained from one or more measurements regarding the RFID tag. The signal vector can be analyzed (e.g., compared to a reference vector obtained from a reference tag) to estimate the position of the RFID tag with an uncertainty of less than one meter (one standard deviation). RFID tags close to a reference RFID tag can be located with higher accuracy (less uncertainty) than RFID tags located far from the reference tag. For example, an RFID tag having the same antenna orientation as a reference RFID tag and located within 10 cm of the reference tag can be located with an uncertainty of less than 2 centimeters.
[0007] One implementation relates to a method for determining the location of a first radio frequency identification (RFID) tag in a multipath environment. The method includes receiving, by a first RFID reader located at a first location in the multipath environment, a first plurality of signals from the first RFID tag, where the first plurality of signals result from response signals transmitted in response to an interrogation of the first RFID tag and represent the multipath environment; constructing, by a processor in communication with the first RFID reader, at least in part based on the first plurality of signals and including features that are representations of and / or derived from the first plurality of signals, a first signal vector; providing the first signal vector as an input to a machine learning process executed on the processor, where the machine learning process is trained using an input from a reference vector constructed from a second plurality of signals received from RFID reference tags distributed within the multipath environment; estimating, using the machine learning process from the features within the first signal vector, a first location of the first RFID tag within the multipath environment; and outputting, from the machine learning process, the estimated first location of the first RFID tag.
[0008] Some implementations relate to tag positioning systems. A tag positioning system can be adapted to be attached at a plurality of positions within a multipath environment that includes a plurality of RFID tags, and can include a plurality of RFID readers adapted to interrogate each of the plurality of RFID tags. The tag positioning system can further include one or more cameras arranged to each capture an image of at least a portion of the multipath environment, and a processor that communicates with the plurality of RFID readers and the one or more cameras. The processor is adapted to execute a machine learning process to estimate a first position of a first RFID tag among the plurality of RFID tags within the multipath environment. During operation, the processor is to receive, from a first RFID reader among the plurality of RFID readers, a first plurality of signals from the first RFID tag, wherein the first plurality of signals result from response signals transmitted in response to an interrogation of the first RFID tag and represent the multipath environment; construct a first signal vector that includes features that are at least partially based on, represent, and / or are derived from the first plurality of signals; provide the first signal vector as an input to a machine learning process, wherein the machine learning process is trained using an input from a reference vector constructed from a second plurality of signals received from RFID reference tags distributed within the multipath environment; estimate a first position of the first RFID tag within the multipath environment using the machine learning process from features within the first signal vector; and output, from the machine learning process, the estimated first position of the first RFID tag.
[0009] Furthermore, another embodiment includes a method for determining the location of a first RFID tag (e.g., attached to a product for product identification and / or product tracking) in a multipath environment. The method includes receiving, by an RFID reader located at a first location in the multipath environment, a response signal transmitted in response to an interrogation of the first RFID tag, the response signal representing the multipath environment. The method also includes obtaining a representation of the multipath environment, such as an image or a LIDAR scan. A processor communicating with the first RFID reader constructs a signal vector, at least in part, based on the response signal and the representation of the multipath environment, and provides the signal vector as an input to a machine learning process executed on the processor. The machine learning process is trained with a reference signal received from an RFID reference tag and at least one previously obtained representation of the multipath environment. The machine learning process estimates and outputs the location of the first RFID tag within the multipath environment based on the input.
[0010] The signal vector can include at least one element based on information derived from the in-phase waveform and the quadrature-phase waveform obtained from the response signal received by the first RFID reader. It can also include at least one element based on information derived from a multipath angle signal profile. And / or it can include at least one element based on the received signal strength or the differential phase delay of the radio frequency carrier of the response signal.
[0011] In some cases, the position is the first position, and the processor determines the angle of arrival (AoA) of the response signal at the first RFID reader. A second RFID reader located at a second position in a multipath environment detects the response signal transmitted by the first RFID tag in response to an interrogation of the first RFID tag. The processor determines the AoA of the response signal at the second RFID reader and uses the AoA of the response signal at the first and second RFID readers to estimate the second position of the first RFID tag. The processor estimates that if the third position of the first RFID tag is based on the first and second positions, it outputs the third position as the estimated position of the first RFID tag.
[0012] The processor can identify the area within the multipath environment where the first RFID tag can be located and reject the estimated position of the first RFID tag outside that area.
[0013] The processor can also identify an exclusion area within the multipath environment where the first RFID tag is not located and rejects (or cannot determine the position of) the estimated position of the first RFID tag included within the exclusion area. In some cases, the processor can analyze the representation of the multipath environment to identify the exclusion area as an area where the RFID tag cannot be physically located. The processor can also analyze the representation of the multipath environment to identify the exclusion area as a passage or open space where the RFID tag does not normally locate. If the position of the first RFID tag is included within the exclusion area, the processor can analyze an image of the exclusion area captured simultaneously with the response to determine whether a person, cart, or machine capable of carrying the first RFID tag is present in the exclusion area. If present, the processor outputs the position of the first RFID tag in response to determining that a person, cart, or machine is present in the exclusion area.
[0014] In some cases, the RFID reader is the first RFID reader that listens for the response signal, and a second RFID reader spaced from the first RFID reader interrogates the first RFID tag.
[0015] When the processor receives or derives the actual position of the first RFID tag, for example, based on an image, the processor can use the input and the actual position of the first RFID tag to adjust a machine learning process. The input to the machine learning process may also be based on a response signal detected by a second RFID reader located at a second position in the multipath environment.
[0016] The processor analyzes one or more images of the multipath environment to determine whether the equipment supporting the first RFID tag has moved within the multipath environment, determines the new position and / or orientation of the equipment from the image, and in response to determining the new position and orientation of the equipment, can adjust the machine learning process based on the image. The machine learning process can also be trained by distributing RFID reference tags at known positions within a training environment, receiving reference signals from the RFID reference tags, and training the machine learning process with the reference signals before deploying the machine learning process to the multipath environment.
[0017] Yet another method for positioning tags in a multipath environment involves receiving a response from an RFID tag by an n-element antenna array, where n is an integer greater than 1. A processor communicating with the n-element antenna array constructs a signal vector based on the response from the RFID tag. The signal vector can include n complex numbers, each representing an estimated value of the communication channel between the RFID tag and the corresponding antenna element in the n-element antenna array. A camera operably coupled to the processor acquires an image of the multipath environment. The processor provides the signal vector and the image as inputs to a machine learning model executed on the processor. This machine learning model is trained using reference vectors constructed from reference signals received from RFID reference tags at respective known positions. The machine learning model estimates and locates the RFID tag within the multipath environment based on the signal vector and the image and outputs the location.
[0018] The RFID tag can be a first RFID tag, and the signal vector can be a first signal vector, in which case the camera can acquire an image of a second RFID tag. The processor determines the position of the second RFID tag from the image of the second RFID tag. The n-element antenna array receives a response from the second RFID tag, and the processor constructs a second signal vector based on the response from the second RFID tag. The processor adjusts the machine learning model based on the second signal vector and the position of the second RFID tag.
[0019] All combinations of the foregoing concepts and additional concepts discussed in more detail below (assuming such concepts are not mutually inconsistent) are considered to be part of the subject matter of the invention disclosed herein. In particular, all combinations of the subject matter recited in the claims that appear at the end of this disclosure are considered to be part of the inventive subject matter disclosed herein. Terms used in any disclosure incorporated herein by reference and explicitly used herein should be given meanings that most closely match the specific concepts disclosed herein.
Brief Description of the Drawings
[0020] Those skilled in the art will understand that the drawings are primarily for illustrative purposes and are not intended to limit the scope of the subject matter of the invention described herein. The drawings are not necessarily to scale, and in some instances, various aspects of the subject matter of the invention disclosed herein may be shown exaggerated or enlarged in the drawings to facilitate understanding of different features. In the drawings, like reference characters generally mean like features (e.g., functionally similar and / or structurally similar components).
[0021]
Figure 1A
Figure 1B
Figure 2
Figure 3A
Figure 3B
Figure 4
Figure 5
Figure 6
[0022] As described above, FIG. 1A illustrates a LOS multipath environment 100 where one or more RFID tags 101 may be present (only one is shown for simplicity of illustration). The environment is considered a LOS environment because it does not interfere with the RF signal traveling along the direct signal path 142 between the RFID tag 101 and the tag reader 150. The RF signal can take a plurality of signal paths 141 - 145 including the direct signal path 142 and signal paths 141, 143 - 145 with reflections from other surfaces between the RFID tag 101 and the tag reader 150, so the environment is also considered a multipath environment.
[0023] In a simple LOS multipath environment 100, the combination of data inputs may be sufficient to determine the tag position with a single RFID reader 150 or two RFID readers. For example, data from the angle of arrival (AoA), received signal strength indicator (RSSI), and / or range measurements (e.g., based on the arrival time or delay of the tag's RF response signal, time of flight (ToF), or phase shift of the reflected carrier wave) may be sufficient to determine the tag position with reasonable accuracy (e.g., less than about 1 meter in a simple LOS environment). Triangulation and / or trilateration may be used with such data inputs to determine the tag position.
[0024] FIG. 1B shows a multipath non-line-of-sight (NLOS) environment 105 where an intervening signal blocking object 160 inhibits LOS communication with the RFID tag 101. The object 160 may reflect, block, or significantly attenuate the response signal from the RFID tag 101 moving along the LOS signal path 142 without being blocked. The object 160 can be any object that reflects, blocks, or attenuates RF signals. Exemplary objects include, but are not limited to, the back or top of the shelf where the RFID tag is located, objects to which the RFID tag is attached (such as appliances or consumer electronic devices including metal), equipment, people, carts, machines, etc.
[0025] In practice, there can be many RFID tags (hundreds or thousands) and many objects in a multipath environment that should be located with an accuracy of less than one meter. Each tag to be located may be separated from other RFID tags in the environment such that it is the only tag that issues a response to an interrogation by the reader 150. The process of tag singulation is known to those skilled in the art of RFID tags. The additional tags and objects can interfere with the RF signals and add more signal paths. Further, some of the tags may not have a direct signal path to the RFID reader due to the additional objects and tags. Thus, as described above, it can become increasingly difficult or impossible to determine the tag positions of all tags with an accuracy of less than two meters using data inputs from AoA, RSSI, and range measurements. Additional data inputs and tag positioning methods can improve the accuracy at which the tags are located.
[0026] An example of an additional data input is a multipath angle signal profile. FIG. 2 shows a simplified example of a phase-programmable linear antenna array 200 that can be used to measure the multipath angle signal profile of a singulated RFID tag. The RFID reader 150 can include an antenna array 200 having a plurality of antenna elements 210 (separated in one, two, or three dimensions). The antenna elements 210 can be phase-programmed to define the reception angle of the antenna array. The example shows four antenna elements 210 within the antenna array 200, each antenna element being separated by half the wavelength (wavelength λ) of the carrier wave used by the RFID reader to communicate with the RFID tag. In other embodiments, the antenna elements may be separated by more than λ / 2 to reduce crosstalk and increase separation, as disclosed in International Application No. PCT / US2022 / 081761 entitled "Antenna Arrays and Signal Processing for RFID Tag Readers", filed on December 16, 2022, which is hereby incorporated by reference in its entirety.
[0027] Each antenna element 210 can detect an RF signal backscattered from the RFID tag and provide a corresponding analog signal to the reader 150 for processing. For the first RFID tag 101a located in front of the antenna array 200, the response RF wave 220 hits each antenna element 210 of the array 200 with approximately equal phase. The programmable phase delay in each signal path from the antenna element and the signal processing circuit of the reader can be set such that the analog signals from each antenna element are constructively added at the reader 150 (e.g., setting the phase offset between each antenna element to zero). For the second RFID tag 101b, the signals from adjacent antenna elements 210 within the array 200 are shifted by approximately half a wavelength in phase (for the same programmable phase delay), and thus are essentially canceled out, filtering signals coming from the side of the array 200.
[0028] By using more antenna elements 210 and setting the programmable phase delay between the antenna elements to a selected value, the receiving direction of the antenna array 200 can be spatially narrowed (providing better filtering of off-axis signals and improving the angular resolution of the antenna array 200). Further, by programming the phase delay between the antenna elements to different values, the receiving direction can be steered or pointed without physically rotating the antenna array. This can be roughly understood by programming the half-wavelength phase delay between adjacent antenna elements in the illustrated embodiment. In that case, the signals received from the antenna elements of the second RFID tag 101b are constructively added at the reader 150, while the signals received from the antenna elements of the first RFID tag 101a are destructively added at the reader 150.
[0029] In some instances, the antenna array 200 may be physically rotated to orient or indicate the receiving angle of the array. In some implementations, the antenna array 200 may include one or several antenna elements 210 that are physically moved back and forth or moved in some other periodic pattern to mimic an antenna array with more antenna elements 210. Such implementations may be referred to as synthetic aperture (SA) antenna arrays.
[0030] By measuring the RF response signal as a function of the receiving angle in a multipath environment θ, a multipath angle signal profile 310 can be obtained. FIG. 3A shows a multipath angle signal profile 310 that may be obtained by an RFID reader 150 for the multipath environment 100 of FIG. 1A using an antenna array or an SA antenna array. The signal profile 310 shows five peaks indicating the AoA of five signal paths 141-145.
[0031] The multi-path angle signal profile 310 can be used to estimate the position of the RFID tag 101. Since each reflection of the RF response signal can attenuate the RF response signal, the dominant peak 315 may correspond to the direct signal path 142 within the LOS multi-path environment 100. Thus, the data inputs of the signal strength (for selecting the dominant peak) and the multi-path angle signal profile 310 can identify the direction of the RFID tag 101 with reasonable accuracy in the LOS environment 100. Additional data inputs are required to determine the distance and / or position from the RFID reader. In some cases, the RFID reader 150 may be configured to determine the distance or range of the tag 101 from the reader as described above. The distance or range may be determined by analyzing the delay time between interrogating the tag and receiving a response from the tag and / or by analyzing the received signal strength. Additionally or alternatively, the reader 150 may use multi-frequency communication techniques and / or analyze the phase of the response signal to determine the tag distance. When the angle and distance are known, the tag position can be determined by the reader 150 with reasonable accuracy (e.g., less than 50 cm) in the LOS multi-path environment 100 where the reflecting objects are not densely embedded.
[0032] Another approach to determining the tag position can employ at least a second RFID reader 152 located within the multi-path environment. If the second reader 152 collects only the multi-path angle signal profile 310, triangulation can be used to estimate the position of the RFID tag 101. If the second reader 152 collects distance information, trilateration can be used to estimate the tag position. Thus, a combination of data inputs from one or more RFID readers can be used to determine the tag position within the LOS multi-path environment 100.
[0033] FIG. 3B shows the corresponding multipath angle signal profile 310 for the NLOS multipath environment 105 of FIG. 1B. Due to the signal blocking object 160, the dominant peak 315 does not indicate the LOS direction of the RFID tag 101. There may or may not be a peak in the signal profile 310 corresponding to the direct LOS signal path 142. The inventors have recognized and understood that determining the correct position of an RFID tag in a NLOS environment with signal blocking objects and dense RFID tags is a difficult problem.
[0034] FIG. 4 shows a NLOS multipath environment 405 including an RFID tag positioning system 400 for determining tag positions. The tag positioning system can include a plurality of RFID readers 150a - 150g and a plurality of reference RFID tags 401a - 401f. In some cases, the tag positioning system may include one or more cameras 420. The RFID readers and cameras can communicate with an appliance 440, also called a controller or a central controller. The appliance 440 can include at least one multiprocessing chip, one or more field programmable gate arrays, one or more digital signal processors, one or more application specific integrated circuits, logic circuits, or some combination of them, as well as non - volatile and volatile memories, and a communication interface for communicating with the RFID readers 150 and cameras 420, as well as other network - enabled devices.
[0035] There can be multiple RFID tags 101a, 101b, etc. attached to objects located within the multipath environment 405. The multipath environment can include one or more unit cells 410, each having a volume that can be measured in terms of cubic feet or cubic meters. There may be a positive integer number N of RFID readers 150 distributed within the unit cell 410, and a positive integer number M of reference tags 401 permanently placed within the unit cell 410 for a certain period or to train the tag positioning system 400. The RFID readers 150 from one unit cell 410 may communicate with each other and with the instrument 440 via a wired or wireless link (e.g., an Ethernet connection), such that the instrument 440 can receive data from each RFID reader 150 and send commands to each RFID reader 150. In some implementations, the RFID readers 150 from multiple unit cells 410 may communicate with a common central instrument 440. There may be multiple signal shielding objects 160, 161 and any number of RFID tags 101a, 101b, etc. located within each unit cell 410.
[0036] Each unit cell 410 of the NLOS multipath environment 405 may or may not be bounded, at least in part, by one or more physical structures such as a floor, wall, ceiling, or some combination of them. In a large warehouse or store, the unit cell 410 may comprise a small area of a large room containing a number of aisles. The unit cell may be of a relatively small size (e.g., as small as a small workspace with a width of 2m × height of 2.5m × length of 5m) or a large size (e.g., as large as a width of 10m × height of 6m × length of 20m). Larger unit cell dimensions are also possible. In a facility, there may be up to several dozen or several hundred unit cells. In some implementations, the facility may have only one unit cell spanning the entire facility.
[0037] The RFID reader 150 may be distributed throughout the unit cell 410 at different positions. In some implementations, the RFID reader 150 may be mounted on the ceiling or rafter above or near the unit cell, but the position of the RFID reader is not so limited. In some cases, the RFID reader may be mounted on the walls 110, 112, floor, ceiling, rafter, equipment, or some combination thereof within the unit cell 410. The density D rd (e.g., number per unit volume) of the RFID tag readers 150 may be present. The density D -rd of the RFID reader 150 may have a value of 0.001 m -3 to 0.1 m -3 . In some implementations, the density D -rd of the RFID reader 150 may have a value in the range of 0.005 m -3 to 0.05 m -3 . Each RFID reader 150 may have one or more antenna elements 210. If each reader 150 comprises only signal antenna elements, a group of readers 150 may be operated together as an antenna array to measure the AoA of the RFID response signal and / or the multipath angle signal profile 310.
[0038] Each RFID reader 150 may individually identify the RFID tag 101a or the reference tag 401a, interrogate the tag, and receive an RFID response from the tag. After one of the RFID readers has identified the tag in interrogation mode, one or more of the other RFID readers 150 operating in listening mode can receive a version of the RFID response that indicates the multi-path signal trajectory from the tag to a particular RFID reader 150. In this way, the RFID readers may receive different response signals from the same tag following interrogation by one of the RFID readers. After receiving a response signal from the interrogated tag, each RFID reader 150 may transmit the response signal (and / or the result from the processing of the response signal) to the instrument 440 for further signal processing. Further description of multiple RFID readers operating in listener mode after interrogation of a tag by one reader can be found in International Application No. PCT / US2022 / 026198, entitled "RFID Tag Readers Switchable Between Interrogator and listener Modes," filed on April 25, 2022, which is hereby incorporated by reference in its entirety.
[0039] One advantage of an RFID reader 150 operating only in listener mode (without issuing an interrogation signal) is that the reader does not need to perform cancellation of its own interference signal of the interrogation signal that may cross-couple into its received signal path. Thus, the signal-to-noise ratio (SNR) and sensitivity of an RFID reader 150 operating in listener mode can be significantly improved compared to an RFID reader 150 that interrogates a tag response and then listens for the tag response. Further description of the cancellation of self-interference signals is described in International Application PCT / US2022 / 035646, entitled "Self-Interference Cancellation for RFID Tag Readers," filed on June 30, 2022, which is hereby incorporated by reference in its entirety.
[0040] The reference RFID tag 401 may be of the same type as the RFID tag 101 attached to an object for the purpose of tracking or inventorying the object or different types of RFID tags. The object to which the RFID tag 101 is attached is not shown in the drawings for simplicity. The reference RFID tag 401 may be placed within the unit cell 410 at a temporarily or permanently known position to train the tag positioning system 400. In some implementations, the reference RFID tag 401 may be a virtual tag as described in U.S. Patent No. 11,215,691, titled "Methods and Apparatus for Locating RFID Tags," issued on January 4, 2022, which is incorporated herein by reference in its entirety.
[0041] The reference tag 401 can be, for example, attached to the equipment during the training of the tag positioning system and then removed. In some cases, the reference tag 401 may be attached to a movable object (e.g., a cart, movable equipment, a person) that moves within the unit cell 410. The position of such a movable reference tag can be determined from the image analysis of the image captured by the camera 420 within the unit cell. In some cases, the reference tag 401 may include a plurality of RFID tags 101 arranged at known positions during the normal operation of the facility (e.g., when a product having an RFID tag 101 for product identification or tracking is first stored or replenished on the shelf at a known position within the facility). That is, no specially designated reference tag 401 is placed within the unit cell and it is not held in its original position. The position of the reference tag (e.g., the x, y, z position within the unit cell, or the aisle / shelf position) can be known or determined and provided to the instrument 440 for training and signal processing purposes. The density D of the reference RFID tag 401 within the unit cell can have a value of 0.01 m-3 to 100 m -3 rt It is possible. In some cases, the reference tag 401 (and 101 when used as a reference tag) is separated by more than 15 cm within the unit cell (e.g., an interval value between 15 cm and 200 cm), and still, the tag positioning system 400 can estimate the position of any RFID tag within the unit cell (at a previous unknown position) with an accuracy of less than 1 meter (1 standard deviation). Therefore, the RFID tag (whose position is estimated) may be large beyond 15 cm from the reference tag position.
[0042] The RFID tag positioning system 400 may use a machine learning model executed on another processor operably connected to the instrument 440 or the reader 150 to estimate the positions of RFID tags 101a, 101b, etc. in an NLOS or LOS multipath environment. Suitable machine learning models for positioning RFID tags may include unsupervised models, semi-supervised models, and supervised regression models. Most types of machine learning models can function well using normal feature vectors as input, and neural networks function well for more complex data representations such as 3D space models.
[0043] Unlike other machine learning methods, the baseline artificial neural network or other machine learning models used by the RFID tag positioning system 400 to execute the machine learning process can be trained in a separate training environment with a large number of high-density reference tags (e.g., hundreds to thousands of reference tags) at known positions, for example, before the RFID tag positioning system 400 is deployed in the multipath environment 405. By training the baseline machine learning model in a well-controlled and well-understood training environment, a dataset with a much larger number and higher density of tags, as well as more specific tag measurement values, than would be practical (or possible) in the multipath environment itself can be trained and tested.
[0044] When the RFID tag positioning system 400 is deployed, the baseline artificial neural network or other machine learning model used by the instrument 440 can be updated or adjusted using a much smaller number of reference tags (e.g., dozens to 100 reference tags). Training the machine learning model before deployment and then adjusting the machine learning model during and / or after deployment shortens the time required to install and deploy the RFID tag positioning system 400. Also provided are the potential benefits of much larger and more diverse training and test data sets, and thus much better performance of the location estimation by the machine learning process executed by the instrument.
[0045] Furthermore, the machine learning method used by the RFID tag positioning system 400 can take various modalities as both training and input data, including the reply from the RFID tag 101 and information regarding the multipath environment 405 (e.g., an image of the multipath environment 405, LIDAR scan, and / or floor plan), and information regarding the reader 150 (e.g., the position, number, and orientation of the beamforming sectors, etc.). As discussed below, for example, the training and input data may include copies of the same response from a given RFID tag 101 or reference RFID tag 401 sensed by different readers 150, where one queries the tag and the other simply detects the tag's response. Representations of the multipath environment 405, such as images obtained by the camera 420, LIDAR scan, or floor plan, provide information regarding the walls, fixtures, and / or other static features of the multipath environment 405 to the machine learning model.
[0046] The images acquired by camera 420 provide information regarding the dynamic characteristics of the multi-path environment 405, such as whether there are people, and if so, where those people are, their size, and their movement, to a machine learning model. The machine learning model uses these images to consider both the static and dynamic aspects of the multi-path environment. With inputs regarding the static and dynamic aspects of the multi-path environment 405, the machine learning model can generate a more accurate estimate of the location of RFID tag 101.
[0047] The images can also reveal information about tag density (e.g., by showing many tagged items stacked on top of each other or placed near each other). Tag density affects the response of each tag, and a tag in the middle of stacked tags may not be activated by an interrogation signal or may not generate a detectable response due to coupling with nearby tags. The machine learning model uses images of tags (or tagged objects) stacked at high density to determine the location of tags that may be difficult or impossible to locate in other ways.
[0048] In some cases, the tag positioning system 400 may additionally use methods related to AoA, RSSI, etc. to assist in determining the tag location. To implement the machine learning method, the tag positioning system may develop a signal vector V i (Q) for each RFID tag within unit cell 410. Each signal vector can include an integer number Q of features. In some cases, the signal vector may include Q = L × P features, where L is a positive integer less than or equal to N (the number of RFID readers within unit cell 410), and P represents the number of distinct features that can be obtained from one or more measurements by each of the RFID readers. For example, the signal vector can include normalized channel estimates based on the relative magnitude and phase detected by each of the antenna elements of the RFID reader.
[0049] In some examples, there may be fewer or more distinct features by the signal vector. Examples of distinct features include, but are not limited to, RSSI, AoA, SNR, time signal profile and / or its parameterization, multipath angle signal profile 310 and / or its parameterization, response waveform and / or its parameterization, and information derived from signal profile and / or waveform (e.g., peak and / or minimum of RF carrier wave, number of differential phase delays Df / Df, position, and / or amplitude). The profile and waveform may be processed (e.g., filtered, discriminated, normalized, etc.) to generate additional features. According to some implementations, the signal vector V i and / or reference vector V rj may be based in part or in whole on an analysis of in-phase and quadrature (IQ) waveforms generated by the RFID reader 150 from one or more RF waveforms received by one or more antenna elements 210 of the RFID reader 150. Each IQ pair of the waveforms from the antenna element 210 can be processed to generate a channel estimate value of the link between the antenna element 210 responding to the RFID reader and the RFID tag 101b or the reference tag 401d. Each channel estimate value may be a complex number representing the communication channel between the corresponding antenna element 210 and the corresponding RFID tag 101b or reference tag 401d, and can be used as a feature of the respective signal vector V i or reference signal vector V rj . The channel estimate value can also be represented as a pair of real numbers, as described below.
[0050] For example, the RF waveform received from the RFID tag 101b by the antenna element can be processed and digitally sampled by the RFID reader to generate an IQ pair of a digital data stream representing the in-phase signal component and the quadrature-phase signal component from the RF waveform. The received RF waveform can encode a sequence of +1 bits and -1 bits (or other digital bits) on a carrier wave. The received RF waveform may be transmitted by the RFID tag in response to a query or other command transmitted by the RFID reader. The sequence of bits can include preamble bits or other known bit sequences (e.g., previously learned tag identification). Alternatively or additionally, the sequence of bits may not be known by the RFID reader 150 prior to decoding, but can include data payload bits with error detection information (e.g., cyclic redundancy check (CRC) value). In some cases, the IQ data stream can be processed to remove the EPC data of the tag or select a known portion of the tag's response so that a selected portion of the response signal from the tag represents the same sequence of bits transmitted by the RFID reader to the tag and can be correlated with the transmitted waveform.
[0051] Two similar correlation processes can be performed by the RFID reader 150 or the processor 440 for each IQ pair of the digital data stream. The first correlation process is performed on the in-phase (I) data stream, and the second correlation process is performed on the quadrature-phase (Q) data stream. FIGS. 5A and 5B show examples of waveforms involved in the correlation processes for both the I and Q data streams. For illustrative purposes, the exemplary waveforms are at an intermediate frequency and can be recovered from the RF carrier wave. In some implementations, the correlation relationship may be performed on the RF waveform including the carrier frequency.
[0052] Each correlation process may involve correlating the intervals of the digital data stream 510 with corresponding symbol waveforms 520, 530 (per symbol) that are possible for that interval. For example, there may be at least two possible symbol waveforms. The symbol waveform 520 may be expected for a noise-free non-attenuating waveform encoding a logical 0 bit, and the symbol waveform 530 may be expected for a noise-free non-attenuating waveform encoding a logical 1 bit. The interval of the digital data stream correlated with the symbol waveform may correspond to the symbol period. For each interval of the digital data stream, multiple correlation relationships can be implemented.
[0053] To obtain proper time synchronization between the digital data stream 510 and the symbol waveform 520 or 530, several correlations can be performed for one or more symbols of a known symbol sequence (e.g., a preamble data sequence) where the symbol waveform is effectively shifted in time with respect to the digital data stream 510 (e.g., the waveform of the symbol waveform is shifted with respect to the number of samples). The symbol waveform at the time shift that results in the highest correlation relationship (or the lowest correlation relationship, or the correlation relationship closest to zero, depending on how the correlation relationship is implemented) can establish the proper time synchronization between the digital data stream and the symbol waveform.
[0054] For known symbols, the corresponding symbol waveform 520 or 530 (only) may be selected for further correlation. For unknown symbols, both symbol waveforms 520 and 530 may be selected for further correlation. In either case, multiple correlations can be performed for each symbol where the amplitude of the symbol waveform changes with each correlation relationship. For known symbols, the correlation relationship having the highest value (or the lowest value or the value closest to zero) can identify the amplitude value of the symbol waveform 520 or 530 that best matches the digital data stream 510. The amplitude value indicates at least the loss of the signal channel between the RFID tag and the antenna element.
[0055] For unknown symbols, both symbol waveforms 520 and 530 can be selected for further correlation with digital data stream 510 using various amplitudes. The correlation relationship that results in the highest value (or lowest value or value closest to zero) for the correct symbol can identify the amplitude value of symbol waveform 520 or 530 that best matches digital data stream 510. Whether the symbol waveform is correct can be determined from error detection information (e.g., from the CRC value provided in the bit sequence).
[0056] In some cases, the digital data of the unknown bit sequence transmitted from the tag can be stored for subsequent processing. Using error detection information and / or error correction techniques, signal decoding by RFID reader 150 can determine the sequence of bits transmitted by the tag. Once the sequence is known, the correlation using varying amplitude values can be performed using only one symbol waveform per received symbol, rather than both symbol waveforms. In some implementations, the correlation relationship can include determining the least squares difference between the values of digital data stream 510 and the selected values of symbol waveforms 520, 530. Thus, instead of the highest value, the lowest or closest to zero correlation value can identify the best match between digital data stream 510 and the symbol waveform.
[0057] Regardless of how the match is determined, the correlation relationship can generate two channel estimation values for each symbol received from the antenna element. One channel estimation value is determined for the symbols of the in-phase (I) digital data stream, and the other channel estimation value is determined for the symbols of the quadrature-phase (Q) data stream. In some cases, the two channel estimation values can be represented as the attenuation coefficients of the amplitude of the received symbols. When multiple symbols in the sequence are processed in this way, the channel estimation values are averaged for each data stream, and for the antenna element, a first average channel estimation value for the I data stream and a second average channel estimation value for the Q data stream can be obtained.
[0058] For four antenna elements, eight average channel estimation values can exist. These eight average values can be included as the eigenvalues of the signal vector V i (or V rj ) associated with the RFID tag (or reference tag) and the RFID reader 150 that received the symbol sequence from the RFID tag. Other channel estimation values that can be included as characteristics of the signal vector include the absolute and / or relative shifts in the timing of the symbol waveforms 520, 530 between the antenna elements. Such characteristics within the signal vector can be affected at least in part by the loss of the signal channel between the RFID reader and the tag and by the angle of incidence of the received signal of the antenna element.
[0059] Optionally, the two channel estimation values or average values obtained for the I and Q data streams 510 can be represented as complex numbers. For example, the I average channel estimation value can be the magnitude of the real part of the complex number, and the Q average channel estimation value can be the magnitude of the imaginary part of the complex number. Thus, for a four-element antenna array, instead of eight average values, four complex channel estimation values can be used as characteristics of the signal vector. More generally, n complex channel estimation values can be used as characteristics of the signal vector of an n-element antenna array, where n is a positive integer.
[0060] The signal vectors obtained from the reference RFID tags 401a, 401b, 401c, etc. can be used as training inputs to the tag positioning system 400. Each reference tag can generate a reference signal vector V that is rich in signal information. rj For example, referring again to FIG. 4, an interrogation of the reference tag 401d by the first RFID tag reader 150a can generate a set of seven signal characteristics from each of the tag readers 150a to 150g that may be included in the reference vector V for the reference tag 401d. rj Furthermore, an interrogation of the same tag 401d by a different tag reader 150b can generate seven additional signal characteristics (e.g., different values of the differential phase delay Df / Df between the second reader 150b and the reference tag 401d) that can be added to the reference vector of the reference tag.
[0061] The reference vector V obtained from the reference tag 401 and the corresponding known positions of the reference tags can be used to train a machine learning process executed on the instrument 440 of the tag positioning system. In the illustrated example, there may be six reference signal vectors corresponding to the six positions of the reference tags 401a to 401f. In a practical implementation, there may be more than six reference tags and corresponding known positions used to train the machine learning process to find tags within a unit cell. rj In some implementations, instead of including all the signal characteristics in a single reference signal vector for each reference tag, the signal characteristics determined from each RFID reader 150a to 150g can be used to form seven or more reference signal vectors V for each reference tag. Thus, there can be more reference signal vectors than there are tags for a unit cell, and the set of signal vectors can be associated with each tag. Next, the machine learning process can be trained using the set of signal vectors for each reference tag position.
[0062] In some implementations, instead of including all the signal characteristics in a single reference signal vector for each reference tag, the signal characteristics determined from each RFID reader 150a to 150g can be used to form seven or more reference signal vectors V for each reference tag. rj=1~7 In this way, there can be more reference signal vectors than there are tags for a unit cell, and the set of signal vectors can be associated with each tag. Next, the machine learning process can be trained using the set of signal vectors for each reference tag position.
[0063] The reference signal vector V rjOnce obtained, the reference tag 401 may or may not be removed from the unit cell 410. Next, the system can estimate the positions of other tags 101a, 101b, etc. within the unit cell using the reference signal vector V rj . For example, one or more of the RFID readers 150a - 150g can singularize and interrogate the RFID tag 101b to develop a single signal vector V i (or up to seven or more signal vectors, one signal vector for each reader). Each signal vector and the reference signal vector can be considered to refer to a position within a Q - dimensional space, where Q is the number of signal characteristics included in the vector.
[0064] The Euclidean distance D i between the signal vector V rj (j = 1, 2, 3,...) and one or more of the reference signal vectors V in the vector space E can be evaluated and quantified to estimate the position of a single tag 101b. For a pair of n - element, complex signal vectors representing the amplitude and phase of the tag responses detected at each element of an n - element antenna array, the Euclidean distance is the length of the line segment separating the points defined by the signal vectors in an n - dimensional space. If one signal vector represents the response from a reference tag and another represents the response from a tag at an unknown position, the Euclidean distance between the signal vectors in an n - dimensional signal vector space represents the distance between the tags in physical space. It is possible to estimate an unknown position relative to a known position by calculating the Euclidean distance between the signal vector for the tag at the unknown position and the signal vector for a reference tag or other tag at a known position.
[0065] Optionally, signal characteristics can be weighted to emphasize some signal characteristics more than others. For example, the signal characteristic corresponding to RSSI may have a weighting value in the range of 0 - 200, and AoA may have a weighting value in the range of 0 - 360. Other numerical values and ranges may be used for these and other signal characteristics. The signal vector V imay have an RSSI of 50 and an AoA of 60. The reference vector V r3 may have an RSSI of 54 and an AoA of 58. Thus, the Euclidean D E distance portion between these two vectors corresponding to RSSI and AoA is JPEG2025523718000002.jpg20111.
[0066] In signal profiles (e.g., FIGS. 3A and 3B) and time waveforms, the magnitude of the difference for each point may be summed to quantify the difference across the entire profile or between waveforms. In some cases, the profile or waveform may first be normalized and / or aligned (e.g., using dynamic time warping) before quantifying the difference between waveforms or profiles.
[0067] Referring again to FIG. 4, in an exemplary implementation, the evaluation of the Euclidean distance by the central appliance 440 may reveal that the signal vector V i of tag 101b has the minimum Euclidean distance D Ed from the reference tag 401d compared to other reference tags. Thus, tag 101b may be determined to be closest to and within a small spatial distance d of the reference tag 401d. The value of the spatial distance d may be determined by the central appliance 440 based on one or more Euclidean distances between the reference tags and their corresponding spatial distances according to the following relationship.
[0068]
Number
[0069] where d r is the spatial distance between the reference tag 401d and the nearest neighbor reference tag 401b or 401f, and D Er is the corresponding Euclidean distance between the reference tag 401d and the nearest neighbor reference tag. In some cases, the spatial distance d may be determined using two or more nearest neighbor reference tags and their corresponding Euclidean distances.
[0070] Based on the Euclidean distance between the signal vector of the tag and the reference signal vector V rj Another approach for estimating the position of the RFID tag 101b is also possible. For example, a threshold Euclidean distance D th can be selected. If the Euclidean distance calculated between the signal vector V i of the RFID tag 101b and the reference signal vector Vrj of the reference tag 401d is less than the threshold Euclidean distance D th then the position of the reference tag 401d can be output as the estimated position of the RFID tag 101b.
[0071] In another approach, k nearest neighbor reference tags 401 (where k is a positive integer greater than 1) can be found based on the signal vector V i of the RFID tag and the reference signal vector. The k nearest neighbor reference tags can be selected as the k tags having the k smallest Euclidean distances between their reference vectors and the signal vector of the RFID tag. Next, the estimated position of the RFID tag can be calculated based on the spatial positions of the k nearest neighbor reference tags 401. For example, the estimated position of the RFID tag 101b can be calculated as the three-dimensional weighted average of the spatial positions of the k nearest neighbor reference tags 401. Higher weights can be given to those reference tags having a smaller Euclidean distance between their reference signal vectors V rj and the reference signal vector of the tag V i than the Euclidean distances to other reference tags within the set of k reference tags.
[0072] Over time, the machine learning process can use one or more of the above processes to be trained with the reference signal vector V rj to perform regression and output the estimated two-dimensional or three-dimensional position (or other position metrics such as aisles, sections, shelves, etc.) for each RFID tag 101 located. In some implementations, the machine learning process can interpolate and / or extrapolate based on the training data distribution.
[0073] The direction of the RFID tag 101b from the nearest reference tag 401d may be determined from features selected from the reference signal vector V rj and / or the reference signal vector. For example, a comparison of the Euclidean distances from the reference tag 401b and the tag 101b to nearby reference tags 401b and 401f can reveal that the tags 401d and 101b have essentially the same Euclidean distance from the two reference tags 401b and 401f, and thus are located at essentially the same y and z coordinates within the unit cell. A comparison of the Euclidean distance between the reference tags 401d and 401c and the Euclidean distance between the tag 101b and the reference tag 401c can indicate that the tag 101b is located farther from the reference tag 401c than the reference tag 401d, and may eliminate the ambiguity in the x position of the tag 101b. Alternatively or additionally, the central processor may determine the direction of the tag 101b from the reference tag 401d based on selected signal features such as the AoA and / or the multipath angle signal profile 310. For example, a comparison of the AoA and / or the multipath angle signal profile 310 obtained by the tag reader 150d for the reference tag 401d and the RFID tag 101b may indicate essentially the same AoA and / or multipath angle signal profile 310, indicating that the RFID tag 101b is in the same direction (e.g., the same y coordinate) as the reference tag 401d from the reader 150d. A comparison of the AoA and / or the multipath angle signal profile 310 obtained by the tag reader 150c for the reference tag 401d and the RFID tag 101b may indicate that the RFID tag 101b has a larger x coordinate than the reference tag 401d. Other signal features and / or methods may be used to determine the direction of the RFID tag 101b from the reference tag 401d.
[0074] reference signal vector V rjAfter several RFID tag positions are estimated within the unit cell 410 using [reference to something not provided in the text], further training of the tag positioning system may be performed by performing a physical check on some of the tag positions. For example, the user of the system can input to the processor the actual physical positions of a random sample of RFID tags 101 distributed within the unit cell 410. The apparatus 440 can use the actual physical positions in supervised learning to refine its machine learning process and improve the accuracy of estimating the tag positions from the reference signal vector V rj In some implementations, the apparatus 440 may perform unsupervised learning or semi-supervised learning to train the machine learning process.
[0075] The actual positions of the RFID tags can be obtained and provided to the apparatus 440 in any suitable way. For example, the user may operate a handheld RFID reader to identify the RFID tag 101 at random positions within the unit cell 410. The RFID reader may communicate with other RFID readers 150 and / or the apparatus 440 to communicate the identification and position of the tag to the apparatus 440. The position may be input by the user (e.g., row, shelf, section), or may be automatically determined by the handheld reader or the apparatus 440 (e.g., using a position tracking device such as an accelerometer, using a Bluetooth or WiFi-based positioning method, processing one or more images of the unit cell, or a combination thereof).
[0076] When the positions of RFID tags (e.g., tags 101a - 101e) are estimated, the signal vectors V i of these tags are then used by the central apparatus 440 of the machine learning process (or other process performed by the apparatus 440) as the reference vector V rj to estimate the positions of additional RFID tags within the unit cell. In this way, as tags move, are positioned, and / or relocate within or outside the unit cell, a rich library of reference tag data can be accumulated over time by the central apparatus 440.
[0077] Reference vector V rj Another source can be obtained by the instrument 440, at least in part, based on an image processing or computer vision process. For example, the instrument 440 can process an image received from one or more cameras 420 to identify when a tagged object is picked up by an individual and / or when it is placed in a cart or basket. Next, the RFID system can receive a signal vector from the RFID tag while unifying the attached RFID tags multiple times and visually tracking the movement of the tags throughout the multipath environment 405. Each received signal vector can be associated with a position within the multipath environment observed by one or more of the cameras 420. For example, the received signal vector V i can be associated with the position of an individual, cart, or basket carrying the tagged object imaged by at least one camera at the time the signal vector is received. Further, the camera may record the final position where the tagged object is placed to obtain at least one final signal vector and the associated position of the RFID tag. The signal vector V i (and the associated position determined from the image analysis) can be added to the reference vector V rj library for use as a reference vector.
[0078] Reference vector V rj is determined by the instrument 440 and, when recorded, can be associated with a position (e.g., x, y, z position) within a unit cell rather than being associated with the RFID tag. If the physical structure of the unit cell 410, the position of the equipment 120, and the position of other signal shielding objects 160 do not change significantly, the accumulated reference vector V rjcan remain as a valid reference vector for determining the position of RFID tags in the environment. In some implementations, the central appliance 440 can analyze the images acquired by the camera 420 to determine whether any significant changes have occurred to the unit cells 410, the spare parts 120, and the signal shielding objects 160. A significant change can be the addition or removal of one spare part or other signal shielding object, or the addition or removal of a wall within the unit cell. A significant change can also be moving one spare part or other signal shielding object by more than 50 centimeters.
[0079] Another way to detect whether a significant change has occurred is to reacquire the signal vector from the reference tag. The reacquired signal vector V i should essentially match the reference vector V rj previously acquired for the reference tag. The appliance 440 can compare the two vectors. If there is a change exceeding a threshold amount, the appliance 440 can determine that there has been a significant change in the environment, re-estimate the tag positions, and / or initiate a process to update the reference vector V rj
[0080] Upon detecting a significant change within the unit cell 410, the appliance 440 can perform several tasks. The appliance 440 can first determine whether any tags have moved within the unit cell 410 and whether any tags have remained in the same position after the significant change that was determined prior to the significant change. For example, the appliance 440 can evaluate one or more images from the camera 420 collected before and after the significant change to determine whether a shelf or rack containing tags has moved within the unit cell (e.g., whether the signal shielding shelf containing RFID tags 101b, 101d has moved 1 meter). The appliance 440 can also determine an image in which the tags have not moved despite the significant change. The appliance 440 can accordingly move and / or update its machine learning model to determine a new reference vector for tags that have not moved. The processor can determine the new positions of the tags, and the new signal vector V i can be obtained. In some cases, the new signal vector can then be used as a reference vector.
[0081] For tags that have not moved (reference tags and / or RFID tags), an updated reference vector V representing the new multipath environment after a significant change rj There are at least two ways to obtain it. The first method is to perform the RFID reading and listening operations described above and construct a signal vector (which can be used as a reference vector since the tag has not moved) based on the characteristics of the response signal from the tag, in the same manner as the original reference vector V rj was obtained. Since the tag position has not changed, the tag positioning system 400 can then be retrained using these new reference vectors V rj
[0082] The reference vector V of the tag that has not moved rj The second way to update is to measure the signal vector V i (using the reading and listening operations described above) for the number of samples of fixed or stationary tags distributed across the unit cell 410. The number of samples may be significantly smaller than the total number of tags that have not moved (e.g., less than 1 / 2 of the total number of stationary tags). Next, for each sample tag, the instrument 440 compares the signal vector V i obtained for the sample tag after a significant change with the reference vector V rj of the tag determined before the significant change to quantify how the significant change has changed the reference vector to a new signal vector. Since the change to the reference vector can be systematic (affecting tags in the immediate vicinity of the sample tag in a similar manner), the instrument 440 can apply a similar change without performing the reading and listening operations on other tags to update the reference vector V rj for other tags in the vicinity of the sample tag. The reference vector V rj To improve the accuracy of the update, the processor may use interpolation and extrapolation methods for tags between or beyond sample tags when constructing the updated vector for the tag. Reference vector V rj This second method of updating the reference vector V rj for all stationary tags within the unit cell 410 can be significantly less time-consuming than calculating the reference vector V
[0083] from scratch. In some cases, the tag moves in addition to the object in the environment, for example, in the case of tags on tables, shelves, or other fixtures, or tags on objects that are moved as a group with them. Determining the new position of the tag involves, as described above, obtaining the signal vector V i of the tag and estimating the position based on the corresponding known positions of the tags associated with the reference vector V rj and the reference vector V rj If a group of tags moves as a unit, the positions of only two or a small number (e.g., less than 10) of the tags within the group can be estimated by the instrument 440 using signal vector analysis, and then the positions of the other tags within the group can be estimated using simple geometric calculations and the previous positions of the tags determined before the group of tags moved. The use of geometric calculations can be accurate provided that the relative positions of the tags within the group do not change relative to each other after the movement.
[0084] Another way to estimate the position of the moved tag is for the instrument 440 to analyze the images obtained from one or more cameras 420. For example, when a fixture having a plurality of tags (such as a rack of products each including a tag) moves, the new position can be detected by the instrument 440 when analyzing one or more images of the unit cell 410. Detecting such movement performs a re-estimation or update process to re-estimate at least some of the tag positions within the unit cell and further the reference vector V rjTo update, the instrument 440 can be triggered. For the relocated spare part, the instrument 440 can analyze the image to determine the new x, y, z positions of the spare part within the unit cell 410 and the orientation of the spare part (e.g., the amount of rotation from its previous orientation). Next, the instrument 440 can perform geometric calculations to estimate the new position of the tag based on the new orientation of the spare part and its new x, y, z positions. Such a method of estimating the tag position may not require the acquisition of a new signal vector V i from the relocated tag. Of course, in some implementations, a combination of image analysis and reacquisition and analysis of the signal vector V i can be used to estimate the new tag position.
[0085] When estimating the tag position according to any of the above methods, the instrument 440 can be configured to exclude or correct some of the estimated positions based on processor knowledge of the physical structure of the unit cell 410. Such exclusion and / or correction of the tag position may implement a process called "boxing". The knowledge of the physical structure can be obtained from the analysis of one or more images of the unit cell by the processor. For example, the instrument 440 can analyze one or more images of the unit cell to identify areas or boxes where the tag can and / or cannot be positioned. For example, the exclusion areas where the tag cannot be positioned may include x, y, z positions outside the unit cell 410, inside the wall or other support structures, inside the passageway, etc. The areas where the tag can be positioned can be the areas remaining within the unit cell 410, or in some cases, the areas remaining between two RFID readers 150. For tag position calculations that result in two or more possible positions of the tag (e.g., which can occur for trilateration calculations), positions that are outside the exclusion area (or outside the box where the tag can be positioned) may be ignored or rejected.
[0086] The processor may correct the estimated tag position if the estimated position is the only position calculated by the instrument 440 and that position is within the exclusion area. The processor may correct the position by changing the calculated position to the nearest position within the unit cell that can be occupied by the RFID tag (e.g., a position that fits within the box where the tag can be located). If the calculated position fits within a passageway or similar open space, the instrument 440 may additionally analyze an image of the unit cell to determine whether an object (e.g., a person, cart, or machine) that can transport the tag is at the calculated position. If the tag-carrying object is at that position, the instrument 440 may not need to correct the tag position.
[0087] In a practical environment such as a warehouse or retail store, there may be activities within each unit cell 410. There may be people, machines, carts, and / or automated machines that move an object having an RFID tag 101 between positions within the unit cell. Additionally, equipment may be added to, moved within, or removed from the unit cell. Any of the people, machines, carts, automated machines, and equipment may be signal blockers, and thus, if there is activity within the unit cell, the multipath environment (and reference vector V rj ) may change dynamically.
[0088] As described above, the instrument 440 can detect activity within the unit cell (e.g., by analyzing images collected by one or more cameras 420 or by detecting changes in one or more reference vectors V rj ). In some cases, the instrument 440 may update the reference vector V rj frequently (e.g., at intervals of 1 second, 5 seconds, 10 seconds, 30 seconds, 1 minute, or more). The reference vector and tag position (moved tag) can be updated using the methods described above.
[0089] In some implementations, the appliance 440 may estimate tag positions using a neural network such as a convolutional neural network (CNN), or another deep learning model such as a transformer. A deep learning process is a type of machine learning process that uses layers (e.g., layers within a multi-layer neural network) to train itself over time. The deep learning process can use as input the reference tags and / or response signals from RFID tags measured by one or more RFID readers 150 (e.g., an n-vector of complex numbers, where each complex number represents the amplitude and phase of a tag response detected by a corresponding antenna element on one of the n-element antenna arrays of the RFID reader 150). The deep learning process may further use as input signal characteristics such as AoA, delay, RSSI, SNR. Other types of input may include, but are not limited to, raw image data of the multipath environment 405, features extracted from the images (e.g., the number of people in the environment, the number of equipment and signal shielding objects in the environment, the positions of people, equipment, and / or signal shielding objects), product density and / or product density maps, three-dimensional models of the multipath environment, and depth maps of the environment.
[0090] The output from the deep learning process may include the estimated positions of the RFID tags. In a dynamic environment, the deep learning process may also use as input images of unit cells (e.g., the number and positions of people within a unit cell, the positions of equipment within a unit cell, the number and positions of machines, carts, and / or automated machines within a unit cell). In some cases, the deep learning process may utilize an autoencoder neural network to identify more relevant and less relevant features from the data input into the deep learning process. In other cases, the deep learning process may use a convolutional neural network.
[0091] By adopting a deep learning process or other machine learning processes, the accuracy of a processor that determines tag positions in a multipath environment can be improved compared to a process based on trilateration or triangulation. In some cases, the accuracy of estimating the tag position can be improved to the extent that signals received from only one or two of the RFID readers 150 are sufficient to update the reference vector V rj and / or estimate the position of the RFID tag within an acceptable error (e.g., within 50 cm). Thus, the interrogation and processing of response signals may be significantly reduced. Such a reduction in the number of tag interrogations and response signals to be processed can result in a significant reduction in the RFID readers 150 within the unit cell 410 (e.g., from eight or more to one or two), and a corresponding significant reduction in the tag interrogations and signals to be processed. However, a machine learning process or deep learning process that uses inputs from only two RFID readers may require more training data, may initially take more time to train, and may take longer to calculate the tag position than a machine learning or deep learning process that uses inputs from more RFID readers.
[0092] In some implementations, machine learning and / or deep learning may be used on a portion of the data obtained or derived from the tag response signal. At least one different analysis may be performed and used to determine the tag position along with the output from the machine learning or deep learning process. For example, machine learning and / or deep learning may be used to analyze the multipath angle signal profile 310 obtained by one or more of the tag readers 150 within the unit cell 410, and / or to analyze the IQ signals from the antenna elements described above. Additionally, trilateration calculations may be performed based on the RSSI from two or more RFID readers, and / or triangulation calculations may be performed at least in part based on the AoA from one or more readers. The results from different calculations can be processed to estimate the tag position. For example, each calculation may output an estimated position of the tag, and the final estimate may be a weighted average of the positions. Thus, different data inputs and different analyses of the data can be used to improve the accuracy of the tag position estimation by the tag positioning system 400.
[0093] FIG. 6 shows a process 600 for deploying and using a tag positioning system and a machine learning (ML) model, as described above in connection with FIG. 4. As described above, the machine learning model can be a deep learning model such as a multi-layer artificial neural network. As understood by those skilled in the art of artificial neural networks, an artificial neural network includes an input layer, one or more hidden layers, and an output layer, each of which includes one or more artificial neurons, or nodes. In a fully connected neural network, each node in each hidden layer is connected to one or more nodes in the immediately preceding and succeeding layers and has associated weights and non-linearities (e.g., the non-linearity of the rectified linear unit (ReLU)). A given node weights and sums its inputs, then applies a non-linearity to the weighted sum and passes the result to the nodes in the next layer. The nodes in the output layer provide their outputs as the output of the neural network. Other suitable deep learning models include convolutional neural networks and transformers.
[0094] The baseline neural network or machine learning model of the tag positioning system is trained (602) using a large set of training data generated from hundreds to thousands of reference tags at known positions in a multi-path environment well understood by several readers.
[0095] Generally, training involves collecting signal vectors (or signatures) of reference tags at known positions. If there are N reference tags each having M antenna elements, the set of signatures effectively includes NM complex channel estimates. The reader collects these complex channel estimates over a set of as many parameters as possible (e.g., different carrier frequencies, beamforming sectors, etc.) (e.g., the reference tags are read on 50 RFID channels (carrier frequencies) by each of three different sensors).
[0096] More specifically, consider training a k-nearest neighbor model as a baseline machine learning model for positioning RFID tags. The reference tags are placed with reference panels in a grid pattern (e.g., 15 cm apart) within the training environment, and the reader within the training environment acquires the signature for each tag, where each signature is a feature vector or signal vector generated for a given combination of sensor, beamforming sector, carrier frequency, and tag position. The signatures are stored in a signature table in non-volatile memory within or operably coupled to the instrument.
[0097] Further in the training environment, the reference panel is replaced with RFID tags attached to products or other objects. The reader interrogates RFID tags attached to products or other objects at different carrier frequencies and beamforming sectors. For each combination of RFID tag, reader, beamforming sector, and carrier frequency, the apparatus retrieves the corresponding entry from the signature table and uses nearest neighbor search on the signature (feature / signal vector) to find the k nearest neighbors. The apparatus calculates the weighted average of the positions of the k nearest neighbors and returns the weighted average as the estimated position of the RFID tag in question. After training, deployment, and adjustment, the apparatus follows a similar process to determine the position of tags in the installation location / multipath environment.
[0098] Training data can include, but is not limited to, responses from reference tags, measurements derived from the responses, and the positions of the reference tags relative to the reader sensing the responses. Training data can also include, but is not limited to, information about the multipath environment, such as a floor plan, LIDAR scan, image, or other representation of the multipath environment. Floor plans, LIDAR scans, images, and other representations indicate the positions of walls, shelves, tables, registers, and other stationary objects that can scatter, absorb, attenuate, or disperse the responses. Images also show people and objects that move through the multipath environment and can scatter, absorb, attenuate, or disperse the responses. Other training data includes information about the reader sensing the responses, such as the position of the reader (e.g., height and lateral coordinates), antenna orientation, beamforming sector, interrogation signal strength and carrier frequency, and whether the reader was in an interrogation mode or a listening mode when it sensed the response. This training can be performed on demand or well in advance of the installation and deployment of the tag positioning system.
[0099] Once the baseline machine learning model is trained, it can be deployed to the installed tag positioning system (604). The deployment can occur, for example, as part of the process of installing the tag positioning system, as described in International Patent Application No. PCT / US2023 / 068002, filed on June 6, 2023, and titled "Deploying RFID Readers in Environments Having a Dense population of RFID Tags", which is hereby incorporated by reference in its entirety for all purposes. The deployment can also occur after the tag positioning system has been installed and operated for a certain period of time, for example, if the baseline machine learning model shows improvement thanks to improvements in the model architecture or performance improvements through additional training.
[0100] During or after deployment, the baseline machine learning model is adjusted (606) using training data in the form of the acquired tag responses (608), and an image, LIDAR scan, floor plan, or other representation (610) of the multi-path environment in which the tag positioning system (installation location) is installed. The adjustment takes into account differences between the installation location and the environment in which the baseline machine learning model was trained, including differences in the position of the reader and multi-path effects due to different walls, fixtures, etc. The adjustment involves transfer learning, where the baseline machine learning model is used as a starting point for addressing new problems of positioning RFID tags at the installation location (rather than in the training environment). The training set for transfer learning may be relatively small and may include, for example, responses (608) detected from only a few dozen reference RFID tags that are stationary at known positions in the installation location and interrogated by each of the sensors of the tag positioning system. The training data for transfer learning may also include (1) walls, shelves, tables, registers described in the floor plan, LIDAR scan images, and other representations of the training site, and (2) information regarding the reader that senses the responses, the position of the reader (e.g., height and lateral coordinates), antenna orientation, beamforming sector, interrogation signal strength and carrier frequency, and whether a given reader was in an interrogation mode or a listening mode when it sensed the response. The representation of the training site may be acquired (610) using a camera of the tag positioning system, a separate camera, a portable LIDAR scanner, or another suitable sensor.
[0101] For a baseline neural network having multiple hidden layers, synchronization may involve freezing the weights of the nodes in the lower-level hidden layers (i.e., the hidden layers closer to the input) and adjusting the weights of the nodes in the upper-level hidden layers (i.e., the hidden layers closer to the output). As another way, or additionally, nodes in different hidden layers may have different learning rates, with nodes in the lower hidden layers having a relatively slow learning rate and nodes in the upper hidden layers having a faster learning rate. Using variable learning rates works very well for training a baseline neural network on a large training set in a well-known training environment (602) and adjusting the neural network when deployed at the installation location (606).
[0102] When a machine learning model is adjusted with a reference RFID tag, the reference RFID tag can be removed from the multipath environment (612), for example, for use in adjusting the machine learning model at different installation locations. The reference RFID tag can also be left in a fixed position for subsequent adjustments. For example, the reference RFID tag can be queried or interrogated in response to the movement of a fixture into, out of, or within the multipath environment in order to adjust the machine learning model to account for the movement of the fixture. Similarly, the reference RFID tag can be queried or interrogated in response to changes in the operating parameters or position of a sensor. The reference RFID tag can also be moved to other (known) positions within the multipath environment and queried at those positions to provide a more diverse set of data for adjusting the machine learning model.
[0103] Regardless of whether the reference RFID tag remains in the multipath environment, the tag positioning system can find the RFID tag at an unknown location in the multipath environment using an adjusted machine learning model (614). During operation, the tag positioning system receives tag responses with a reader (616), detects images with a camera (618), and supplies this information (or measurements derived from this information) along with information about the instrument that executes the machine learning model, or forms the reader itself (e.g., interrogation signal carrier frequency and power level and antenna beamforming sector). The machine learning model uses this information as well as prior knowledge such as a LIDAR scan of the installation location to estimate the position of the corresponding RFID tag.
[0104] At the same time, the instrument adjusts the machine learning model with one or more virtual reference RFID tags, also called virtual reference tags (620). The virtual reference tags are RFID tags whose positions are not predefined or pre - defined, but are verified using sensing modalities such as computer vision, independent of the responses sensed by the reader. For example, if one of the cameras of the tag positioning system acquires an image of an object known to be attached to a specific RFID tag, and an instrument operably coupled to the camera or another processor derives the position of the object from the image, the position of the RFID tag can be matched or assigned to the position of the object. Similarly, if the camera detects a person carrying an object and an RFID tag, the instrument can automatically estimate the position of the person and match or ascribe the position of the RFID tag to the position of the person. The instrument can identify the virtual reference tags and their positions (620) and use them to adjust the machine learning model as the tag positioning system operates. This continuously executed adjustment process can occur without human intervention and enables the machine learning model to refine the accuracy of its position estimation and, for example, adapt to changes in the multipath environment due to the movement of people, objects, and / or tags. Conclusion
[0105] Although various embodiments of the invention have been described and illustrated herein, those skilled in the art will readily envision various other means and / or structures for performing the functions described herein and / or for obtaining one or more of the results and / or advantages thereof, and each of such variations and / or modifications is to be regarded as within the scope of the embodiments of the invention described herein. More generally, those skilled in the art will readily understand that all parameters, dimensions, materials, and configurations described herein are meant to be illustrative, and that the actual parameters, dimensions, materials, and / or configurations will depend upon the particular application or applications for which the teachings of the invention are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments of the invention described herein. Accordingly, it is to be understood that the foregoing embodiments are presented by way of example only, and that within the scope of the appended claims and their equivalents, embodiments of the invention may be practiced otherwise than as specifically described and claimed. Embodiments of the invention disclosed herein are directed to each and every individual feature, system, article, material, kit, and / or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and / or methods is included within the scope of the invention disclosed herein if such features, systems, articles, materials, kits, and / or methods are not mutually inconsistent.
[0106] Also, various inventive concepts may be embodied as one or more methods, of which examples have been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, including performing some acts simultaneously, even if shown as sequential acts in the exemplary embodiments.
[0107] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in incorporated documents by reference, and / or ordinary meanings of defined terms.
[0108] As used in this specification and the claims, the indefinite articles "a" and "an" should be understood to mean "at least one" unless clearly indicated otherwise.
[0109] The phrase "and / or" as used in this specification and the claims means "either or both" of the combined elements, i.e., elements that may be present conjunctively in some cases and disjunctively in other cases. Multiple elements listed with "and / or" should be construed in the same manner, i.e., as "one or more" of the conjunctively listed elements. Other elements may optionally be present in addition to those specifically identified by the "and / or" clause, whether or not they are related to the specifically identified elements. Thus, by way of non-limiting example, reference to "A and / or B" can, when used in conjunction with non-restrictive grammar such as "comprising", refer in one embodiment to only A (optionally including elements other than B), in another embodiment to only B (optionally including elements other than A), and in yet another embodiment to both A and B (optionally including other elements).
[0110] As used in this specification and the claims, "or" should be understood to have the same meaning as "and / or" as defined above. For example, when separating items in a list, "or" or "and / or" is to be construed as inclusive, i.e., including the number of components or at least one of the list, but including more than one, and optionally including additional items not in the list. Only terms that clearly indicate the contrary, such as "only one of", "exactly one of", or "consisting of" when used in the claims, refer to exactly one element of the number of components or the list. Generally, the term "or" as used in this specification is to be construed as indicating an exclusive alternative (i.e., "one or the other but not both") only when preceded by exclusive terms such as "either", "only one of", "only one of the", or "exactly one of". "Consisting essentially of" shall have the ordinary meaning as used in the field of patent law when used in the claims.
[0111] As used in this specification and the claims, the phrase "at least one" with respect to a list of one or more components should be understood to mean at least one component selected from any one or more of the components in the list of components, but does not necessarily include at least one of each and every component specifically listed in the list of components, and does not exclude any combination of components in the list of components. This definition also allows for the optional presence of components other than those specifically identified in the list of components referred to by the phrase "at least one", whether or not they are related to the specifically identified components. Thus, by way of non-limiting example, "at least one of A and B" (or equivalently "at least one of A or B", or equivalently "at least one of A and / or B") can, in one embodiment, refer to at least one, optionally one or more, A where B is absent (and optionally includes components other than B), in another embodiment, to at least one, optionally one or more, B where A is absent (and optionally includes components other than A), and in yet another embodiment, to at least one, optionally one or more, A and at least one, optionally one or more, B (and optionally includes other components).
[0112] In the claims and in the above specification, all transitional phrases, such as "comprising," "including," "carrying," "having," "containing," "involving," "holding," "consisting of," and the like, are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases "consisting of" and "consisting essentially of" are to be considered closed or semi-closed transitional phrases as defined in the USPTO Patent Examination Procedure Manual, Section 2111.03, respectively.
Claims
1. A method for determining the position of a first radio frequency identification (RFID) tag in a multipath environment, comprising: receiving, by an RFID reader located at a first position in the multipath environment, a response signal from the first RFID tag transmitted in response to an interrogation of the first RFID tag, wherein the response signal represents the multipath environment; obtaining a representation of the multipath environment; constructing, by a processor communicating with the first RFID reader, a signal vector based at least in part on the response signal; providing the signal vector and the representation of the multipath environment as inputs to a machine learning process executed on the processor, wherein the machine learning process is trained with a reference signal received from an RFID reference tag and at least one previously obtained representation of the multipath environment; estimating, using the machine learning process from the inputs, the position of the first RFID tag within the multipath environment; outputting, from the machine learning process, the position of the first RFID tag A method comprising the above steps.
2. The method according to claim 1, wherein the input comprises at least one element based on information derived from an in-phase waveform and a quadrature-phase waveform obtained from a response signal received by the first RFID reader.
3. The method according to claim 1, wherein the input comprises at least one element based on information derived from a multipath angle signal profile.
4. The method according to claim 1, wherein the input comprises at least one element based on the received signal strength or differential phase delay of the radio frequency carrier wave of the response signal.
5. The RFID reader is a first RFID reader, the position is a first position, determining, by the processor, the angle of arrival (AoA) of the response signal at the first RFID reader; detecting, by a second RFID reader located at a second position in the multipath environment, the response signal transmitted by the first RFID tag in response to an interrogation of the first RFID tag; determining, by the processor, the AoA of the response signal at the second RFID reader; The processor uses the AoA of the response signal at the first RFID reader and the AoA of the response signal at the second RFID reader to estimate a second position of the first RFID tag; estimating a third position of the first RFID tag based on the first position and the second position; the processor outputs the third position as an estimated position of the first RFID tag The method according to claim 1, further comprising.
6. The method according to claim 1, wherein obtaining the representation of the multipath environment includes obtaining at least one image of the multipath environment using a camera.
7. The method according to claim 1, wherein obtaining the representation of the multipath environment includes performing at least one LiDAR scan of the multipath environment.
8. The method according to claim 1, wherein the RFID reference tag does not exist in the multipath environment when the estimation is performed.
9. The method according to claim 1, wherein the first RFID tag is attached to a product for product identification and / or product tracking.
10. The method according to claim 1, wherein the RFID reference tags are separated by more than 15 centimeters and the accuracy of the position of the first RFID tag is less than 1 meter.
11. The processor identifies at least one area within the multipath environment where the first RFID tag can be located; rejecting an estimated position of the first RFID tag outside the at least one area The method according to claim 1, further comprising.
12. The processor identifies an exclusion area within the multipath environment where the first RFID tag is not located; rejecting an estimated position of the first RFID tag within the exclusion area The method according to claim 1, further comprising.
13. The method according to claim 12, wherein the identifying includes the processor analyzing the representation of the multipath environment to identify the exclusion area as an area where an RFID tag cannot be physically located.
14. The method according to claim 12, wherein the identifying includes the processor analyzing the representation of the multipath environment to identify the exclusion area as a passage or open space where an RFID tag does not normally locate.
15. analyzing, by the processor, a representation of the multipath environment to identify an exclusion area as a path or open space where the RFID tag is not normally located; determining that the position of the first RFID tag is within the exclusion area; analyzing, by the processor, an image of the exclusion area captured simultaneously with the response signal to determine whether a person, cart, or machine capable of carrying the first RFID tag is present in the exclusion area; outputting the position of the first RFID tag in response to determining that the person, cart, or machine is present in the exclusion area The method according to claim 1, further comprising.
16. The method according to claim 1, wherein the RFID reader is a first RFID reader that listens for the response signal, and a second RFID reader spaced from the first RFID reader executes an interrogation of the first RFID tag.
17. receiving, by the processor, the actual position of the first RFID tag; adjusting the machine learning process using the input and the actual position of the first RFID tag The method according to claim 1, further comprising.
18. further comprising detecting, by a second RFID reader located at a second position in the multipath environment, a response signal from the first RFID tag in response to an interrogation of the first RFID tag, The system according to claim 1, wherein the input is further based on a response signal detected by the second RFID reader.
19. analyzing, by the processor, one or more images of the multipath environment to determine whether equipment supporting the first RFID tag has been moved within the multipath environment; determining a new position and / or orientation of the equipment from the one or more images; adjusting the machine learning process based on the one or more images of the multipath environment in response to the processor determining the new position and orientation of the equipment The method according to claim 1, further comprising.
20. before receiving the response signal by the first RFID tag transmitted in response to the interrogation of the first RFID tag, distributing the RFID reference tags at known positions within a training environment Receiving the reference signal from the RFID reference tag; Training the machine learning process with the reference signal; Deploying the machine learning process in the multipath environment The method according to claim 1, further comprising.
21. A tag positioning system, comprising: A radio frequency identification (RFID) reader adapted to be attached to each position in a multipath environment including RFID tags and adapted to interrogate the RFID tags, the RFID reader including a first RFID reader that receives a response from the first RFID tag of the RFID tags in response to an interrogation of the first RFID tag; A processor in communication with the RFID reader and adapted to execute a machine learning process to estimate the position of a first RFID tag of the RFID tags in the multipath environment, the processor, during operation, Constructing a signal vector based at least in part on a response from the response from the first RFID tag received by the first RFID reader; Providing the signal vector as an input to the machine learning process, wherein the machine learning process is trained with a reference vector constructed from reference signals received from RFID reference tags distributed in the multipath environment; Estimating the position of the first RFID tag in the multipath environment by the machine learning process from the signal vector; Outputting the position of the first RFID tag from the machine learning process A tag positioning system adapted using code that causes.
22. The tag positioning system according to claim 21, wherein at least one of the RFID readers comprises an antenna array having a plurality of antenna elements.
23. The density of the RFID reader in the multi-path environment is 0.001 m -3 to 0.1 m -3 The tag positioning system according to claim 21, which is a value of.
24. The machine learning process is trained with the RFID reference tag having a density value of 0.01 m -3 to 10 m -3 in the multi-path environment, and the tag positioning system according to claim 21.
25. The tag positioning system according to claim 23, wherein the accuracy of one standard deviation in the estimation of the position is less than 1 meter.
26. The tag positioning system according to claim 21, wherein the RFID reference tag is not present in the multipath environment when the estimation is performed.
27. One or more cameras each arranged to capture one or more images of at least a portion of the multipath environment, The processor is, Identify at least one region within the multipath environment where the first RFID tag can be located from the one or more images of the multipath environment captured by the one or more cameras, Further adapted to reject an estimated second position of the first RFID tag that is outside the at least one region, The tag positioning system according to claim 21, further comprising one or more cameras.
28. A method for positioning a radio frequency identification (RFID) tag within a multipath environment, comprising: Receiving, by an n-element antenna array, a response from the RFID tag, where n is an integer greater than 1; Constructing, by a processor in communication with the n-element antenna array, a signal vector based on the response from the RFID tag; Obtaining, using a camera, an image of the multipath environment; Providing the signal vector and the image as inputs to a machine learning model executed on the processor, where the machine learning model is trained with reference vectors constructed from reference signals received from RFID reference tags at respective known positions; Estimating, using the machine learning model, the position of the RFID tag within the multipath environment based on the signal vector and the image; Outputting, from the machine learning model, the position of the RFID tag A method comprising:
29. The method according to claim 28, wherein the signal vector comprises n complex numbers, and each of the n complex numbers represents an estimated value of a communication channel between the RFID tag and a corresponding antenna element in the n-element antenna array.
30. The RFID tag is a first RFID tag, and the signal vector is a first signal vector, Obtaining, with the camera, an image of a second RFID tag; Determining the position of the second RFID tag from the image of the second RFID tag; Receiving, by the n-element antenna array, a response from the second RFID tag; Constructing, by the processor, a second signal vector based on the response from the second RFID tag; Adjusting the machine learning model based on the second signal vector and the position of the second RFID tag The method according to claim 28, further comprising: