Various example embodiments relate generally to retail theft deterrent and merchandise protection devices, and more particularly relate to methods and devices for improving location accuracy of security tags employed for such purposes.
Security devices have continued to evolve over time to improve the functional capabilities and reduce the cost of such devices. Some security devices are currently provided to be attached to individual products or objects in order to deter or prevent theft of such products or objects. In some cases, the security devices include tags or other such components that can be detected by gate devices at the exit of a retail establishment or tracked while being moved in the retail establishment. These tags may sometimes also be read for inventory management purposes, and may include or otherwise be associated with specific information about the type of product to which they are attached.
In order to improve the ability of retailers to deter theft or manage inventory, various improvements may be introduced to attempt to improve location accuracy or to carry out certain specific desired functions related to tracking tags which may also be impacted by location accuracy. Thus, the accuracy of determining the location of the tags may be considered to be an important aspect when determining the appropriate balance of characteristics for a given system.
In some cases, the processing power, memory, or other components that impact the capability of systems or devices to handle computational loads may be somewhat limited. Thus, although fairly complex methods for improving location accuracy have been determined in the past, it is important for some applications to choose a locationing method that provides good performance without providing a heavy computational burden on the systems and devices that are available for use.
Some example embodiments may provide tag locationing that is not only accurate, but also is not computationally burdensome. Accordingly, tag positioning equipment that can provide for accurate locationing of security tags with a relatively low computational cost can be provided.
In one example embodiment, a mobile tag reader that may be configured to wirelessly communicate with a security tag is provided. The mobile tag reader may include a position estimator, which includes processing circuitry configured to receive information indicative of at least a first read event associated with a first antenna beam pattern and a second read event associated with a second antenna beam pattern emitted by the mobile tag reader. The processing circuitry may be further configured to identify an overlap area between at least the first antenna beam pattern and the second antenna beam pattern. The processing circuitry may be further configured to determine an estimated location of the security tag based on the overlap area.
According to another example embodiment, a tag positional estimating system is provided. The system may include at least one security tag disposed on a product in a monitoring environment; and at least one mobile tag reader configured to wirelessly communicate with a security tag. The mobile tag reader may include a position estimator. The position estimator may include a positioning module and processing circuitry. The processing circuitry may be configured to receive information indicative of at least a first read event associated with a first antenna beam pattern and a second read event associated with a second antenna beam pattern emitted by the mobile tag reader. The processing circuitry may be further configured to identify an overlap area between at least the first antenna beam pattern and the second antenna beam pattern. The processing circuitry may be further configured to determine an estimated location of the security tag based on the overlap area.
Having thus described some example embodiments in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some example embodiments now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments are shown. Indeed, the examples described and pictured herein should not be construed as being limiting as to the scope, applicability, or configuration of the present disclosure. Like reference numerals refer to like elements throughout. Furthermore, as used herein, the term “or” is to be interpreted as a logical operator that results in true whenever one or more of its operands are true. As used herein, “operable coupling” should be understood to relate to direct or indirect connection that, in either case, enables at least a functional interconnection of components that are operably coupled to each other.
As used herein, the terms “component,” “module,” and the like are intended to include a computer-related entity, such as but not limited to hardware, firmware, or a combination of hardware and software. For example, a component or module may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, or a computer. By way of example, both an application running on a computing device or the computing device can be a component or module. One or more components or modules can reside within a process or thread of execution and a component/module may be localized on one computer or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local or remote processes such as in accordance with a signal having one or more data packets, such as data from one component/module interacting with another component/module in a local system, distributed system, or across a network such as the Internet with other systems by way of the signal. Each respective component/module may perform one or more functions that will be described in greater detail herein. However, it should be appreciated that although this example is described in terms of separate modules corresponding to various functions performed, some examples may not necessarily utilize modular architectures for employment of the respective different functions. Thus, for example, code may be shared between different modules, or the processing circuitry itself may be configured to perform all of the functions described as being associated with the components/modules described herein. Furthermore, in the context of this disclosure, the term “module” should not be understood as a nonce word to identify any generic means for performing functionalities of the respective modules. Instead, the term “module” should be understood to be a modular component that is specifically configured in, or can be operably coupled to, the processing circuitry to modify the behavior or capability of the processing circuitry based on the hardware or software that is added to or otherwise operably coupled to the processing circuitry to configure the processing circuitry accordingly.
Some example embodiments may enable provision of a system and device capable of monitoring, detecting, locating, and estimating a location of security devices (e.g., tags) that are attached to objects, such as retail products. The estimated tag location may be determined for inventory management. The communication between the tag and the mobile tag reader may be referred to as a “read” or “read event”. The process of determining an estimated tag location may be referred to as “locationing” or “tag locationing”. In some cases, the tags may be radio frequency identification (RFID) tags. The tags may be read by a mobile tag reader (e.g., a handheld reader, robot, RFID reader, or the like) to allow the presence of the tag to be detected and identifying information on the tag to be read. The mobile tag reader may be configured to determine the respective estimated location of each of the tags in the monitoring environment. Typically, the mobile tag reader can best determine the estimated location of the tags when reads can be made 360 degrees around each tag; however, tags are often affixed to objects that are located near or on walls or fixtures. Thus, it is impossible for a mobile tag reader to carry out reads 360 degrees around each of the tags, therefore an estimated location of each of the tags may be difficult or impossible to accurately determine. Example embodiments contained herein provide for a tag reader that can accurately determine the estimated location of each the tags in the monitoring environment, even when the tag is affixed to an object that is located near or on a wall or fixture.
In this regard, example embodiments may provide for a tag positional estimating system that can simplify the tag location determining processes employed in the system so that accurate positioning may be accomplished with relatively low computational power, even when the tag is located near or on a wall or fixture in the monitoring environment. In this regard, example embodiments may identify a subset of locating devices or a set of positions from which a mobile locating device has performed a read operation that appear to provide the highest quality position determining capability, and then employ a locating calculation or algorithm that greatly simplifies the location determination process, but still provides a relatively accurate locating result. A lighter-weight and potentially cheaper locating system may therefore be employed while still providing relatively accurate tracking and locating capability. The addition of other functionalities that may be desired may therefore be employed with available resources that would otherwise be consumed by costly calculations associated with tag position determination.
An example embodiment will be described herein as it relates to a mobile tag reader that is configured to wirelessly communicate with a tag in order to determine the estimated location of the tag, even when the tag is located near or on a wall or fixture.
As shown in
As further shown in
The mobile tag reader 140 may move throughout the first and second monitoring zones 120 and 130 and detect and communicate with the tags 110 located in such zones. The mobile tag reader 140 may communicate with the tag 110 from only a first position 140a in the monitoring zone, as shown in
However, as shown in
As shown in
In further example embodiments, if the mobile tag reader 140 has multiple antennas, the mobile tag reader 140 may be configured to emit a known antenna beam pattern from each antenna at the same time in order to communicate with the tag 110. In some cases, each of the known antenna beam patterns emitted from the different antennas are different. According to some example embodiments, each antenna may have relative spacial diversity from the other antennas thereby permitting the emission of multiple beam patterns simultaneously. Whether one antenna or a plurality of antennas are performing multiple reads of the tag 110, at least two reads of the tag 110 must be performed in order to determine the estimated location of the tag 110. However, in further example embodiments, more than two reads of the tag 110 may be performed by the mobile tag reader 140 in order to determine the estimated location of the tag 110.
As further shown in
As illustrated in
Various of technology may be employed by the mobile tag reader 140 in order to read or communicate with the tag 110. For example, angle of arrival (AOA) technology may be used. The mobile tag reader 140 may include at least one antenna and may be configured to read signals transmitted by the tag 110. Even further, received signal strength indication (RSSI) technology may be used by the mobile tag reader 140. The mobile tag reader 140 may include at least one antenna and may be configured to determine the power levels of signals transmitted by the tag 110 to use RSSI to communicate with the tag 110.
In an example embodiment, the position estimator 400 may be located onboard a handheld version of the mobile tag reader 140. In another example embodiment, the position estimator 400 may be located on a robot that includes or otherwise embodies the mobile tag reader 140, where the robot also includes a mobility assembly that is guided by the position estimator 400.
As shown in
In an example embodiment, the processing circuitry 410 may include one or more instances of a processor 412 and memory 414 that may be in communication with or otherwise control a device interface 420. As such, the processing circuitry 410 may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., with hardware, software, or a combination of hardware and software) to perform operations described herein.
The device interface 420 may include one or more interface mechanisms for enabling communication with other devices (e.g., tag 110, system controller 460, or other devices). In some cases, the device interface 420 may be any means such as a device or circuitry embodied in either hardware, or a combination of hardware and software that is configured to receive or transmit data from/to devices or components in communication with the processing circuitry 410 via internal or external communication mechanisms. Accordingly, for example, the device interface 420 may further include wireless communication equipment (e.g., one or more antennas) for at least communicating with tags 110 or a system controller 460. The device interface 420 may therefore include one or more antenna arrays that may be configured or configurable to receive or transmit properly formatted signals associated with the tags 110 or the system controller 460. The device interface 420 may further include radio circuitry configured to encode or decode, modulate or demodulate, or otherwise process wireless signals received by or to be transmitted by the antenna array(s).
The processor 412 may be embodied in a number of different ways. For example, the processor 412 may be embodied as various processing means such as one or more of a microprocessor or other processing element, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or the like. In an example embodiment, the processor 412 may be configured to execute instructions stored in the memory 414 or otherwise accessible to the processor 412. As such, whether configured by hardware or by a combination of hardware and software, the processor 412 may represent an entity (e.g., physically embodied in circuitry—in the form of processing circuitry 410) capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor 412 is embodied as an ASIC, FPGA or the like, the processor 412 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 412 is embodied as an executor of software instructions, the instructions may specifically configure the processor 412 to perform the operations described herein in reference to execution of an example embodiment.
In some examples, the processor 412 (or the processing circuitry 410) may be embodied as, include or otherwise control the operation of the position estimator 400 based on inputs received by the processing circuitry 410. As such, in some embodiments, the processor 412 (or the processing circuitry 410) may be said to cause each of the operations described in connection with the position estimator 400 in relation to operation of the position estimator 400 relative to undertaking the corresponding functionalities associated therewith responsive to execution of instructions or algorithms configuring the processor 412 (or processing circuitry 410) accordingly. In particular, the processor 412 (or processing circuitry 410) may be configured to enable the position estimator 400 to communicate with the tag 110 to provide information to the system controller 460 that enables the system controller 460 to perform other functions based on the monitoring, detecting, and locationing of the tag 110 or other information received from the position estimator 400 that is determinable from the communications with the position estimator 400.
In an exemplary embodiment, the memory 414 may include one or more non-transitory memory devices such as, for example, volatile or non-volatile memory that may be either fixed or removable. The memory 414 may be configured to store information, data, applications, instructions, or the like for enabling the processing circuitry 410 to carry out various functions in accordance with exemplary embodiments of the present invention. For example, the memory 414 may be configured to buffer input data for processing by the processor 412. Additionally or alternatively, the memory 414 may be configured to store instructions for execution by the processor 412. As yet another alternative or additional capability, the memory 414 may include one or more databases that may store a variety of data sets or tables useful for operation of the position estimator 400. Among the contents of the memory 414, applications or instruction sets may be stored for execution by the processor 412 in order to carry out the functionality associated with each respective application or instruction set. In some cases, the applications/instruction sets may include instructions for carrying out some or all of the operations described in reference to the calculations, algorithms, or flow charts described herein. In particular, the memory 414 may store executable instructions that enable the computational power of the processing circuitry 410 to be employed to improve the functioning of the position estimator 400 relative to the functions described herein. As such, the improved operation of the computational components of the position estimator 400 transforms the position estimator 400 into a more capable tracking, notifying, and locating device relative to the physical objects to which the tag 110 is attached. The processing circuitry 410 may therefore be configured (e.g., by instruction execution) to receive signals from the mobile tag reader 140 and transform attributes of the received signals into data describing the location of the tags 110 for presentation to a user on a terminal or to trigger other functionalities of the mobile tag reader 140.
In an example embodiment, the position estimator 400 may include a positioning module 450. The position estimator 400 may utilize the positioning module 450 to determine the position of the mobile tag reader 140 and define the navigational path of the mobile tag reader 140 as it moves throughout monitoring environment 100. Positional determinations of the mobile tag reader 140 may be made using an accelerometer measuring direction and distance from a known location (e.g., a charging station), GPS, Bluetooth, locating beacons, visual location, LIDAR, or other positioning techniques or combinations thereof.
In some embodiments, the processing circuitry 510 may be embodied in physical and functional form in a similar manner to that which has been described above. However, according to some example embodiments, the processing circuitry 510 may have expanded capabilities with respect to processing speed and communication throughput relative to the processing circuitry 410 utilized by the position estimator 400. For example, the system controller may be configured to receive data from multiple tag readers 140 located within different monitoring zones in a monitoring environment 100. In particular, the system controller 460 may receive data from multiple tag readers 140 and may simultaneously estimate the location of multiple tags 110 located in multiple monitoring zones in a monitoring environment 100 based on the data received from the multiple tag readers 140.
The system controller 460 may be configured to execute the operations described above for the position estimator 400 embodied at the mobile tag reader 140. When the position estimator 400 is not implemented at the system controller 460, the position estimator 400 may process information remotely and act accordingly based on the information. When the position estimator 400 and the system controller 460 split functions, the position estimator 400 and system controller 460 may communicate cooperatively to execute example embodiments. From a technical perspective, processing circuitry embodied at the position estimator 400 or either at the system controller 460 described above may be used to support some or all of the operations described above.
As such, the platforms described in
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In this regard,
In some embodiments, the features described above may be augmented or modified, or additional features may be added. These augmentations, modifications and additions may be optional and may be provided in any combination. Thus, although some example modifications, augmentations and additions are listed below, it should be appreciated that any of the modifications, augmentations and additions could be implemented individually or in combination with one or more, or even all of the other modifications, augmentations and additions that are listed. As such, for example, the first antenna beam pattern and the second antenna beam pattern may be a same beam pattern. In some cases, the first antenna beam pattern and the second antenna beam pattern are emitted at different times. Alternatively or additionally, the first antenna beam pattern and the second antenna beam pattern may be different beam patterns. In some cases, the first antenna beam pattern and the second antenna beam pattern are emitted at a same time. In some example embodiments, the first antenna beam pattern and the second antenna beam pattern may each further include two lateral sides that have a pre-defined distance and form less than about a 45 degree angle. In some cases, the pre-defined distance is based on signal strength. Alternatively or additionally, the signal strength is determined based on RSSI. Alternatively or additionally, the processing circuitry is further configured to weight RSSI of the security tag prior to calculating the estimated location of the security tag. In an example embodiment, the processing circuitry is further configured to receive information indicative of at least three read events, wherein each read event is associated with a respective antenna beam pattern emitted by the mobile tag reader on a same side relative to the security tag. Alternatively or additionally, the mobile tag reader may be handheld. Alternatively or additionally, the mobile tag reader may be a robot. Therefore, example embodiments may provide for a tag positional estimating system that can simplify the tag location determining processes employed in the system so that accurate positioning may be accomplished with relatively low computational power, even when the tag is located near or on a wall or fixture in the monitoring environment.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements or functions, it should be appreciated that different combinations of elements or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. In cases where advantages, benefits or solutions to problems are described herein, it should be appreciated that such advantages, benefits or solutions may be applicable to some example embodiments, but not necessarily all example embodiments. Thus, any advantages, benefits or solutions described herein should not be thought of as being critical, required or essential to all embodiments or to that which is claimed herein. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.