Apparatus and method for improved reading of RFID tags during manufacture
11429829 · 2022-08-30
Inventors
Cpc classification
G06K19/07718
PHYSICS
G01R31/01
PHYSICS
G06K7/0095
PHYSICS
G06K19/07713
PHYSICS
G06K17/0003
PHYSICS
G06K19/0723
PHYSICS
G06K17/0032
PHYSICS
G06K7/10009
PHYSICS
International classification
G06K7/00
PHYSICS
Abstract
An Apparatus and Method for reliably sorting RFID chips, in inlays, labels, tags or other units of manufacture, into rows and columns, and using that information to report their exact position on a moving web, in support of further manufacturing processes, in the presence of crosstalk, with speed and accuracy exceeding prior art.
Claims
1. A method of determining a position of each member of a plurality of passive radio frequency identification (RFID) tags, on a moving web, in motion through an RFID manufacturing process, comprising: a. providing a plurality of RFID readers, each of said plurality of RFID readers coupled to one of a plurality of RFID antennas, performing a plurality of RFID tag read operations on said plurality of RFID tags in response to a plurality of trigger events from a sensor or an external control system, b. recording a plurality of RFID data from said plurality of RFID tag read operations, c. using a software algorithm to derive a pattern from said plurality of RFID data to determine a position of each of said plurality of RFID tags relative to each of said plurality of RFID antennas, including a plurality of positions that should hold one of said plurality of RFID tags, but in which position none of said plurality of RFID tags may be fixed, thus generating a list of bad RFID tag positions, d. generating an RFID tag position report for use in a further manufacturing process.
2. The method of claim 1, in which said software algorithm uses a voting technique to improve accuracy of said tag position report.
3. The method of claim 1, in which said software algorithm uses a neural network or other artificial intelligence technology to improve accuracy of said tag position report.
4. The method of claim 1, in which said software algorithm maintains a list of RFID tag ID numbers that satisfy a plurality of criteria for rejection from said tag position report, removing RFID tags on said list of RFID tag ID numbers from said tag position report.
5. The method of claim 1, in which a gradient of power or other variable parameter is established among several of said plurality of RFID antennas encountered by each individual RFID tag of said plurality of RFID tags, characterizing the performance of each said individual RFID tag of said plurality of RFID tags relative to said gradient of power or variable parameter.
6. The method of claim 1, in which said plurality of RFID antennas are activated in a plurality of patterns, meant to manage crosstalk between said plurality of RFID tags.
7. The method of claim 1, in which said plurality of RFID antennas are activated in a plurality of patterns meant to increase throughput of the claimed method.
8. The method of claim 1, in which a continuous carrier signal is coupled into a subset of said plurality of RFID antennas, in a plurality of patterns, meant to manage crosstalk between said plurality of RFID tags.
9. The method of claim 1, in which said tag position report is a human readable realtime display.
10. The method of claim 1, in which said tag position report is a file in a digital data processing system.
11. The method of claim 1, in which said tag position report is a discrete digital signal to a bad tag marker, or a removal apparatus, or a remove/replace apparatus, or other external manufacturing process driven by said discrete digital signal.
12. The method of claim 1, in which said tag position report is a communication channel to a data driven manufacturing process.
Description
DRAWINGS—FIGURES
(1)
(2)
(3)
(4)
(5)
(6)
DRAWINGS—REFERENCE NUMERALS
(7) 1 Continuous Web of RFID Tags 2 Plurality of Near Field RFID Antennas in line with web 3 Plurality of Near Field RFID Antennas for a single row 4 Reported “column” of tags in single row operation 5 Reported column of tags in multiple row operation 6 Software Program 7 Report of RFID Tag ID Sequence and Bad Tags 8 Label Sensor 9 Plurality of Near Field RFID Antennas across web 10 Plurality of RFID Readers for sorting tags into rows 11 Plurality of RFID Readers for sorting tags into columns
(8) Reference Numerals 20 and above are processing blocks of Software Program (6), described below.
DETAILED DESCRIPTION
FIG. 1—Preferred Embodiment for Single Lane or Row
(9) In
(10) The process yields an accurate Report (7) of the position of each said RFID tag in one dimension (columns in a single row), and the column position of bad RFID tags, even in the presence of crosstalk, for each tag on said web, one per column. (7) may be embodied as a data stream, or as a computer file, or as a discrete BAD output signal, without changing the sense of the invention.
(11) Said Report (7) can be used as input to further manufacturing processes including high speed encoding (Martin 2014), granting said further processes the benefit of this invention's increased speed and accuracy relative to prior art.
FIG. 2—Preferred Embodiment for Multiple Lanes or Rows
(12)
(13) The process yields an accurate Report (7) of the position of each said RFID tag in two dimensions (columns and rows), and the two dimensional position of bad RFID tags, even in the presence of crosstalk, for each tag on said web, one per column, for use as described above.
FIG. 3—Alternate Embodiment Saving Hardware
(14)
(15) Regarding the length of (3) as opposed to (9), shorter antennas engage fewer rows in one read.
FIG. 4—Alternate Embodiment Measuring Performance
(16)
(17) Said multiple pluralities (11) and (3) can likewise be divided into subsets for redundancy or performance measurement, in whatever patterns can be made that work for any particular embodiment.
FIG. 4—Alternate Embodiment Managing Crosstalk
(18) A further advantage of multiple stages is that operation may be staggered among subsets of (10) and (2), thus reducing the crosstalk to be filtered out by (6). Considering all antennas (2) in
(19) Said multiple pluralities (11) and (3) can likewise be divided into subsets for crosstalk management, in whatever patterns can be made that work for any particular embodiment.
FIG. 4—Alternate Embodiment Maximizing Throughput
(20) Said multiple pluralities (3) or (9), in combination with (11), can be arranged to increase the throughput of the system. One way to embody this would be to have four antennas in a row of (3), rather than the three shown. Antennas 0 and 2 would be activated on even Label Count cycles (24) and antennas 1 and 3 would be activated on odd cycles of (24). However, each read operation would be extended into the next label cycle, giving each reader two cycles of (24) to read a TID/UID value, thus allowing the system to read tags when the physical pace of (1) is faster than the minimum time required to read an RFID tag. This approach could scale until a physical limit is reached, probably when interaction between RFID readers goes beyond crosstalk into interference.
FIGS. 5,6—Software Program
(21) Said Software Program (6) may execute on Personal Computer (PC), Programmable Logic Controller (PLC) or any other computing device. The key to the current invention is in the processing performed by (6), shown in
(22) Said Software Program (6) is implemented in parallel state machines, all sharing a Label Count, defined as the current count of signals from a Label Sensor (8) or from some control mechanism on a host machine, outside the scope of this invention.
(23) At the bottom of
(24) In each Label Count Increment step (24), table (24a) is updated to allow a new set of reads to be recorded. One implementation that would work well on most microprocessors, in a system with 4 antennas, would be to allocate a 32 bit variable for each TID/UID value. In each step (24), the 32 bit value would be shifted left 4 places, providing room for a read to be recorded on any or all of the 4 antennas before the next change of Label Count. The history of read events on each antenna for each TID/UID is therefore testable in (6) by common arithmetic instructions rather than database lookups or other looping techniques.
(25)
(26) The top of
(27) Step (30) is the top of a loop that considers each TID/UID on a given antenna. Step (30) and other steps in
(28) In step (31), a single TID/UID value from (30) is checked against said Ignore List (29).
(29) Step (32) applies only to embodiments with multiple logical rows corresponding to physical lanes. As RFID tags in (1) are read multiple times by said pluralities (2) and (10), and recorded in (21a), (21b), and (24a), information will be developed concerning the row position of each tag. Ideally, each tag of (1) will read on one and only one antenna of (2), with no crosstalk, and be assigned to that row; however, in practice, crosstalk may cause any RFID tag in (1) to read on multiple antennas of (2). Ideally, reads of any tag of (1) on multiple antennas (2) would differ by signal strength or frequency, such that (32) could assign each tag to the row with the most or the strongest reads, thereby easily mitigating crosstalk; however, in practice, any tag of (1) may appear identically on two or more antennas. Any of a number of methods may be employed to resolve such conflicts, within the scope of this invention:
(30) a. (32) may count tags currently assigned to rows and decide in favor of a row with fewer tags assigned than its neighbors,
(31) b. (32) may work with the historical pattern of tag reads on antennas stored in (21a), (21b) and (24a) in order to generate a vote value, tag by tag for each antenna, deciding in favor of the tag with the greatest vote value for a given antenna,
(32) c. (32) may defer a row assignment until step (33), when the tag in conflict is read by (3) and (11),
(33) d. (32) may monitor (33) and use any changed row assignments to modify its own voting criteria,
(34) e. (32) may employ neural net based learning or other Artificial Intelligence (AI) technique to resolve conflicted tag reads,
(35) f. (32) may employ a confidence variable for each of its determinations, roughly analogous to said vote value, and consider low confidence assignments for change before final reporting if better information develops,
(36) g. (32) may simply call any tag bad that cannot be assigned to a row with high confidence.
(37) In the alternate embodiment of
(38) Step (33) applies to RFID tag reads on (3) and (11), or on (9). In (33), tags of (1) are assigned to columns of (1). Stated another way, the actual position of tags on (1) is finalized in (33). Considering a single row of tags on (1), ideally, each tag would read on each antenna of (3) or (9) in consecutive Label Count cycles, and be assigned to the corresponding column with high confidence. In practice, variables of speed, spacing, and crosstalk will combine to make RFID tags read on only some of (3) or (9), and (21a), (21b) and (24a) will contain conflicting information. The computational techniques described for step (32) will be needed in (33) in order to resolve such conflicts.
(39) Step (33) has the additional function of determining bad spots in (1), where no functioning RFID tag is present. It will often happen that no RFID tag can be assigned to a given column position with high confidence before the column exits (3) or (9). That column is a bad spot in (1) at reporting location (4) or (5). A later step (38) will allow unassigned tags to be patched into the final report if possible with high confidence.
(40) Step (34) maintains statistics of how many times a tag of (1) may be expected to read as it traverses the system. Said statistics are used in step (39) below.
(41) Step (35) tests the progress of the current TID/UID through the system. If the current TID/UID has been read on (3) or (9) within the last few Label Count cycles (24), then step (37) is executed, refining the tag's column position on (1). If (2) is present, row position is determined in (37).
(42) Step (36) makes the final determination of the content of each column. If a TID/UID has been read on (3) or (9), but has not been read for some number of Label Count cycles (24), and has not been assigned a column position on (1), (36) passes control to step (38). (38) can look for an unassigned column on (1). Said unassigned column is represented by a single column on (4) and (5), but in practice, (38) can adjust more than one downstream column before the final report (7) is made on the column.
(43) If the current TID/UID has been read on (3) or (9) within the last few Label Count cycles (24), (36) passes control to step (39). (39) compares a count of reads of the current TID/UID to said average value maintained by (34). If said count of reads exceeds (34) by some embodiment specific threshold or multiple, the current TID/UID may be placed on Ignore List (29) by step (40).
(44)