Methods, apparatus, and computer program products for improving real-time location systems utilizing multiple location technologies

By combining multiple location technologies and scintillation data processing in the RTLS system, the positioning accuracy and reliability issues of existing RTLS in complex environments have been resolved, achieving higher accuracy and more reliable real-time positioning results.

CN113050031BActive Publication Date: 2026-01-02ZEBRA TECHNOLOGIES CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110260675.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2014-06-06
Filing Date
2015-05-29
Publication Date
2026-01-02
Estimated Expiration
2035-10-17

AI Technical Summary

Technical Problem

Existing real-time location systems (RTLS) are inadequate in terms of positioning accuracy and reliability, especially when multiple location technologies are combined, making it difficult to effectively handle positioning data in complex environments.

Method used

By receiving and processing data from various location technologies, such as Bluetooth Low Energy, Wi-Fi signal strength index, RFID, and GPS, at grid nodes, and combining this data with scintillation data and sensor orientation calculations, over-determined locations can be determined, improving positioning accuracy and reliability.

Benefits of technology

It achieves higher accuracy and reliability in real-time positioning in complex environments, enhances the system's positioning data processing capabilities, and improves the availability and accuracy of location data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113050031B_ABST
    Figure CN113050031B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a method, apparatus, and computer readable medium for improving a real-time location system utilizing multiple location technologies. In one embodiment, a method is provided that includes receiving flicker data from a location tag associated with a first sensor, receiving proximity data generated based on a communication between the first sensor and a second sensor, the proximity data including a sensor identifier, calculating location data associated with the location tag based on the flicker data, and determining sensor position calculation data associated with the first sensor based on the proximity data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related Application Reference

[0002] This application is a continuation-in-part of Invention Patent Application International Application No. PCT / IB2015 / 054102, International Filing Date May 29, 2015, entered into the National Stage of China on December 30, 2016, Chinese National Application No. 201580036162.3, entitled "Method, Apparatus, and Computer Program Product for Improving Real-Time Location Systems Utilizing Multiple Location Technologies." TECHNICAL FIELD

[0003] Embodiments discussed herein relate to radio frequency positioning, and more specifically to systems, methods, apparatuses, computer readable media for improving real-time location systems (RTLS) utilizing multiple location technologies. BACKGROUND

[0004] Many deficiencies and problems associated with RTLS positioning are identified herein. By the application of effort, ingenuity, and innovation, exemplary solutions to many of these identified problems are embodied by the present invention, which will be described in detail below. SUMMARY

[0005] Systems, methods, apparatuses, and computer readable media for improving real-time location systems (RTLS) utilizing multiple location technologies are disclosed. In embodiments, a method is provided that includes receiving, at a mesh node, first proximity data or first bearing data from an original node; and transmitting, from the mesh node: a signal configured to cause transmission of a blink data from a location tag, and the first proximity data or the first bearing data received from the original node. In example embodiments, the method further includes transmitting, from the mesh node, second proximity data or second bearing data.

[0006] In example embodiments, the method further includes receiving, at the mesh node, a distress signal from the original node, and transmitting the first proximity data or the first bearing data received from the original node based on receiving the distress signal. In example embodiments, the method further includes determining, at the mesh node, whether a message count generated based on the first proximity data or the first bearing data satisfies a predetermined threshold; the first proximity data or the first bearing data is transmitted based on the message count determination. In example embodiments of the method, the message count is determined based on a number of data transmissions. In example embodiments, the message count comprises a time count.

[0007] In example embodiments of the method, the method further includes receiving a message route at the mesh node; determining whether the mesh node is designated in the message route. Transmitting the first proximity data or the first position data is based on determining that the mesh node is designated in the message route. In example embodiments of the method, the first proximity data or the first position data is received over the mesh network. In example embodiments of the method, the receiving of the first proximity data has a predetermined radius.

[0008] In example embodiments of the method, the proximity data is based on Bluetooth Low Energy transmission. In example embodiments of the method, the proximity data is based on a Wi-Fi Received Signal Strength Index. In example embodiments of the method, the proximity data is based on radio frequency identification. In example embodiments of the method, the position data is based on global positioning. In example embodiments of the method, the position data is based on radio frequency identification.

[0009] In embodiments, a method is provided that includes determining, using a processor, receipt of a transmission reliability signal; and transmitting proximity data or position data based on the determination of receipt of the transmission reliability signal. In example embodiments, the method further includes transmitting a distress signal based on the determination of receipt of the transmission reliability signal. In example embodiments, the method further includes transmitting a signal configured to cause transmission of blinking data from a location tag based on the determination of receipt of the transmission reliability signal.

[0010] In example embodiments of the method, the signal configured to cause transmission of blinking data is further configured to cause a change in a blinking rate of the location tag. In example embodiments of the method, the proximity data is associated with a predetermined radius. In example embodiments of the method, the proximity data or the position data is transmitted over a mesh network. In example embodiments of the method, the proximity data is based on Bluetooth Low Energy transmission.

[0011] In example embodiments of the method, the proximity data is based on a Wi-Fi Received Signal Strength Index. In example embodiments of the method, the proximity data is based on radio frequency identification. In example embodiments of the method, the position data is based on global positioning. In example embodiments of the method, the position data is based on radio frequency identification.

[0012] In embodiments, a method is provided that includes receiving blinking data from a location tag associated with a first sensor; receiving proximity data generated based on communication between the first sensor and a second sensor, wherein the proximity data includes an identifier; calculating, using a processor, position data associated with the location tag based on the blinking data; and determining sensor position calculation data associated with the first sensor based on the proximity data.

[0013] In example embodiments of the method, the sensor position calculation data associated with the first sensor is based on a predetermined transmission radius associated with the second sensor. In example embodiments, the method further comprises assigning a first priority to the location data and a second priority to the sensor position calculation data; and determining the highest priority location data or sensor position calculation data available. In example embodiments, the method further comprises causing the highest priority location data or sensor position calculation data to be displayed on a graphical user interface. In example embodiments, the method further comprises causing the highest priority location data or sensor position calculation data to be stored in a memory.

[0014] In example embodiments of the method, the sensor position calculation data is further based on the location data. In example embodiments, the method further comprises determining the sensor position calculation data associated with the second sensor based on prior location data associated with the location tag or the second location tag. In example embodiments of the method, determining the sensor position calculation data associated with the second sensor is further based on the sensor position calculation data associated with the first tag.

[0015] In example embodiments, the method further comprises validating the location data based on the sensor position calculation data. In example embodiments, the method further comprises determining a message route based on: location data of a plurality of location tags associated with a sensor or sensor position calculation data of a plurality of sensors; and transmitting the message route in a monitored area.

[0016] In embodiments, a method is provided comprising: receiving blinking data generated by a location tag associated with a first sensor; receiving position data generated by the first sensor, the position data comprising a sensor identifier; calculating, using a processor, location data associated with the location tag based on the blinking data; and determining sensor position calculation data associated with the first sensor. In example embodiments, the method further comprises determining the sensor position calculation data associated with the first sensor based on prior location data associated with the location tag. In example embodiments, the method comprises receiving position data associated with a second sensor from first sensor position data associated with the second sensor based on communication between the first sensor and the second sensor, and determining the sensor position calculation data associated with the second sensor based on the sensor position calculation data associated with the first tag.

[0017] In example embodiments, the method further includes assigning a first priority to the location data and a second priority to the sensor position calculation data; and determining the highest priority location data or sensor position calculation data available. In example embodiments, the method further includes causing the highest priority location data or sensor position calculation data available to be displayed on a graphical user interface. In example embodiments, the method further includes causing the highest priority location data or sensor position calculation data available to be stored in a memory. In example embodiments, the method further includes validating the location data based on a sensor position calculation associated with the first sensor. In example embodiments, the method further includes determining a message route based on location data of a plurality of location tags or sensor position calculation data of a plurality of sensors; and transmitting the message route in the monitored area.

[0018] In example embodiments, a method is provided that includes using a processor to calculate location data based on flicker data received from a location tag, determine sensor position calculation data based on location data or proximity data received from a sensor associated with the location tag, and determine an over-determined location based on the location data, the sensor position calculation data, and a location hierarchy. In example embodiments of the method, the location hierarchy includes the location data, sensor position calculation data based on proximity data associated with the location data, global positioning, or proximity data associated with the sensor.

[0019] In some embodiments of the method, determining the over-determined location is based on a location hierarchy that includes at least two of the location data or the sensor position calculation data. In further example embodiments of the method, determining the over-determined location is based on a location hierarchy that includes at least three of the location data or the sensor position calculation data. In example embodiments of the method, determining the over-determined location is based on a location hierarchy that includes at least four of the location data or the sensor position calculation data.

[0020] In example embodiments, the method further includes causing the over-determined location to be displayed on a user interface. In some example embodiments of the method, causing the over-determined location to be stored in a memory.

[0021] In further example embodiments, a method is provided that includes using a processor to calculate location data based on flicker data received from a location tag, determine sensor position calculation data based on position data or proximity data received from a sensor associated with the location tag, and determine an over-determined location based on the location data, the sensor position calculation data, a first monitored area location hierarchy, and a second monitored area location hierarchy.

[0022] In example embodiments of the method, the location hierarchy of the first monitoring zone or the second monitoring zone includes location data, sensor position calculation data based on proximity data associated with the location data, global positioning, or proximity data associated with the sensor. In some example embodiments of the method, determining the over-determined location is based on a location hierarchy containing at least two location data or sensor position calculation data. In further example embodiments of the method, determining the over-determined location is based on a location hierarchy including at least three location data or sensor position calculation data.

[0023] In example embodiments of the method, determining the over-determined location is based on a location hierarchy including at least four location data or sensor position calculation data. In some example embodiments, the method further includes causing the over-determined location to be displayed on a user interface. In another example embodiment, the method further includes causing at least the highest priority location or sensor position calculation data available to be stored in a memory.

[0024] In example embodiments, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to receive first proximity data or first position data at a mesh node from an original node; transmit from the mesh node: a data signal configured to cause transmission of a flashing data from a location tag; and the first proximity data or first position data received from the original node. In example embodiments, the at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to transmit second proximity data or second position data from the mesh node.

[0025] The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to receive a distress signal at the mesh node from the original node, and transmit the first proximity data or first position data received from the original node based on receiving the distress signal.

[0026] The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to determine at the mesh node whether a message count generated based on the first proximity data or first position data satisfies a predetermined threshold; and transmit the first proximity data or first location data is based on the message count determination. In example embodiments of the apparatus, the message count is determined based on a number of data transmissions. In example embodiments of the apparatus, the message count includes a time count.

[0027] The at least one memory and the computer program code can further be configured to, with the processor, cause the apparatus to receive a message route at the mesh node; determine whether the mesh node is designated in the message route; and wherein transmitting the first proximity data or the first position data is based on determining that the mesh node is designated in the message route. In an example embodiment of the apparatus, the first proximity data or the first position data is received over a mesh network. In an example embodiment of the apparatus, the reception of the proximity data has a predetermined radius. In an example embodiment of the apparatus, the proximity data is based on Bluetooth Low Energy transmission.

[0028] In an example embodiment of the apparatus, the proximity data is based on a Wi-Fi received signal strength index. In an example embodiment of the apparatus, the proximity data is based on radio frequency identification. In an example embodiment of the apparatus, the position data is based on global positioning. In an example embodiment of the apparatus, the position data is based on radio frequency identification.

[0029] In an example embodiment, an apparatus is provided comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to determine a reception of a transmission reliability signal; and transmit proximity data or position data based on the determination of the reception of the transmission reliability signal. The at least one memory and the computer program code can further be configured to, with the processor, cause the apparatus to transmit a distress signal based on the determination of the reception of the transmission reliability signal.

[0030] The at least one memory and the computer program code can further be configured to, with the processor, cause the apparatus to transmit a signal configured to cause transmission of blinking data from the location tag based on the determination of the reception of the transmission reliability signal. In an example embodiment of the apparatus, the signal configured to cause transmission of blinking data is further configured to cause a change in a blinking rate of the location tag based on the determination of the reception of the transmission reliability signal. In an example embodiment of the apparatus, the proximity data is associated with a predetermined radius. In an example embodiment of the apparatus, the proximity data or the position data is transmitted over a mesh network.

[0031] In an example embodiment of the apparatus, the proximity data is based on Bluetooth Low Energy transmission. In an example embodiment of the apparatus, the proximity data is based on a Wi-Fi received signal strength index. In an example embodiment of the apparatus, the proximity data is based on radio frequency identification. In an example embodiment of the apparatus, the position data is based on global positioning. In an example embodiment of the apparatus, the position data is based on radio frequency identification.

[0032] In an example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to receive blinking data from a location tag associated with a first sensor; receive proximity data generated based on a communication between the first sensor and a second sensor, the proximity data including an identifier; calculate location data associated with the location tag based on the blinking data; and determine sensor position calculation data associated with the first sensor based on the proximity data.

[0033] In an example embodiment of the apparatus, the sensor position calculation data associated with the first sensor is based on a predetermined transmission radius associated with the second sensor. The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to assign a first priority to the location data and a second priority to the sensor position calculation data; and determine a highest priority location data or sensor position calculation data available. The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to cause the highest priority location data or sensor position calculation data to be displayed on a graphical user interface. The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to cause the highest priority location data or sensor position calculation data to be stored in a memory. In an example embodiment of the apparatus, the sensor position calculation data is further based on the location data.

[0034] The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to determine the sensor position calculation data associated with the second sensor based on prior location data associated with the location tag or a second location tag. In an example embodiment of the apparatus, determining the sensor position calculation data associated with the second sensor is further based on sensor position calculation data associated with the first sensor. The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to validate the location data based on the sensor position calculation data. The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to determine a message route based on location data of a plurality of location tags associated with a sensor or sensor position calculation data of a plurality of sensors; and transmit the message route in a monitored area.

[0035] In example embodiments, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to receive flicker data generated by a location tag associated with a first sensor; receive bearing data generated by the first sensor, wherein the bearing data includes a sensor identifier; calculate location data associated with the location tag based on the flicker data; and determine sensor bearing calculation data associated with the first sensor based on the bearing data.

[0036] The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to determine the sensor bearing calculation data associated with the sensor based on prior location data associated with the location tag. In example embodiments of the apparatus, the at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to receive, from the first sensor, bearing data associated with a second sensor, wherein the bearing data associated with the second sensor is based on communication between the first sensor and the second sensor, and determine sensor bearing calculation data associated with the second sensor based on the sensor bearing calculation data associated with the first sensor. The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to: assign a first priority to the location data and a second priority to the sensor bearing calculation data; and determine the highest available priority location data or available sensor bearing calculation data. The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to cause the available highest priority location data or sensor bearing calculation data to be displayed on a graphical user interface. The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to cause the available highest priority location data or sensor bearing calculation data to be stored in a memory.

[0037] The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to verify the location data based on the sensor bearing calculation data associated with the first sensor. The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to determine a message route based on the calculated location data of a plurality of location tags associated with the sensor or the determined sensor bearing calculation data of a plurality of sensors; and transmit the message route in a monitored area.

[0038] In example embodiments, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to compute location data based on flicker data received from a location tag, determine sensor position computation data based on position data or proximity data received from a sensor associated with the location tag, and determine an over-determined location based on the location data, the sensor position computation data, and a location hierarchy. In example embodiments of the method, the location hierarchy includes the location data, sensor position computation data based on proximity data associated with the location data, global positioning, or proximity data associated with the sensor.

[0039] In some embodiments of the apparatus, determining the over-determined location is based on a location hierarchy that includes at least two of the location data or the sensor position computation data. In further example embodiments of the apparatus, determining the over-determined location is based on a location hierarchy that includes at least three of the location data or the sensor position computation data. In example embodiments of the apparatus, determining the over-determined location is based on a location hierarchy that includes at least four of the location data or the sensor position computation data.

[0040] The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to cause the over-determined location to be displayed on a user interface. The at least one memory and the computer program code can also be configured to, with the processor, cause the apparatus to cause the over-determined location to be stored in a memory.

[0041] In example embodiments, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to compute location data based on flicker data received from a location tag, determine sensor position computation data based on position data or proximity data received from a sensor associated with the location tag, and determine an over-determined location based on the location data, the sensor position computation data, a first monitoring area location hierarchy, and a second monitoring area location hierarchy.

[0042] In example embodiments of the apparatus, the location hierarchy of the first monitoring area or the second monitoring area includes the location data, sensor position computation data based on proximity data associated with the location data, global positioning, or proximity data associated with the sensor. In some example embodiments of the apparatus, determining the over-determined location is based on a location hierarchy that includes at least two of the location data or the sensor position computation data. In further example embodiments of the apparatus, determining the over-determined location is based on a location hierarchy that includes at least three of the location data or the sensor position computation data.

[0043] In an example embodiment of the apparatus, determining the over-determined position is based on a position hierarchy comprising at least four position data or sensor bearing calculation data. The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to cause the over-determined position to be displayed on a user interface. The at least one memory and the computer program code can be further configured to, with the processor, cause the apparatus to cause the over-determined position to be stored in a memory.

[0044] In an example embodiment, a computer program product is provided comprising a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: receive, at a mesh node, first proximity data or first bearing data from an original node; transmit, from the mesh node: a signal configured to cause transmission of a distress signal from a location tag; and the first proximity data or the first bearing data received from the original tag. The program code portions can be further configured to, upon execution, transmit, from the mesh node, second proximity data or second bearing data. The program code portions can be further configured to, upon execution: receive, at the mesh node, a distress signal from an original node, and transmit the first proximity data or the first bearing data received from the original node based on receiving the distress signal.

[0045] The program code portions can be further configured to, upon execution: determine, at the mesh node, whether a message count generated based on the first proximity data or the first bearing data satisfies a predetermined threshold; and wherein transmitting the first proximity or the first bearing data is based on the message count determination. In an example embodiment of the computer program product, the message count is determined based on a number of data transmissions. In an example embodiment of the computer program product, the message count comprises a time count.

[0046] The program code portions can be further configured to, upon execution: receive, at the mesh node, a message route; determine whether the mesh node is designated in the message route, wherein transmitting the first proximity data or the first bearing data is based on determining that the mesh node is designated in the message route. In an example embodiment of the computer program product, the first proximity data or the first bearing data is received over a mesh network. In an example embodiment of the computer program product, the first proximity data is received with a predetermined radius.

[0047] In an example embodiment of the computer program product, the proximity data is based on Bluetooth Low Energy transmission. In an example embodiment of the computer program product, the proximity data is based on a Wi-Fi received signal strength index. In an example embodiment of the computer program product, the proximity data is based on radio frequency identification. In an example embodiment of the computer program product, the bearing data is based on global positioning. In an example embodiment of the computer program product, the bearing data is based on radio frequency identification.

[0048] In an example embodiment, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: determine receipt of a transmission reliability signal; and transmit proximity data or position data based on the determination of receipt of the transmission reliability signal. The program code portions can also be configured to, upon execution, transmit a distress signal based on the determination of receipt of the transmission reliability signal. The program code portions can also be configured to, upon execution, transmit a signal configured to cause transmission of flicker data from a location tag based on the determination of receipt of the transmission reliability signal. In an example embodiment of the computer program product, the signal configured to cause transmission of the flicker data is also configured to cause a change in a location tag flicker rate.

[0049] In an example embodiment of the computer program product, the transmission of the proximity data has a predetermined radius. In an example embodiment of the computer program product, the proximity data or position data is transmitted over a mesh network. In an example embodiment of the computer program product, the proximity data is based on Bluetooth Low Energy transmission. In an example embodiment of the computer program product, the proximity data is based on Wi-Fi Received Signal Strength Index. In an example embodiment of the computer program product, the proximity data is based on radio frequency identification. In an example embodiment of the computer program product, the position data is based on global positioning. In an example embodiment of the computer program product, the position data is based on radio frequency identification.

[0050] In an example embodiment, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: receive flicker data from a location tag associated with a first sensor; receive proximity data generated based on communication between the first sensor and a second sensor, wherein the proximity data includes an identifier; calculate position data associated with the location tag based on the flicker data; and determine sensor position calculation data associated with the first sensor based on the proximity data. In an example embodiment of the computer program product, the sensor position calculation data associated with the first sensor is based on a predetermined transmission radius associated with the second sensor.

[0051] The program code portions can also be configured to, upon execution: assign a first priority to the position data and a second priority to the sensor position calculation data; and determine a highest priority position data or sensor position calculation data available. The program code portions can also be configured to, upon execution, cause the highest priority position data or sensor position calculation data to be displayed on a graphical user interface. The program code portions can also be configured to, upon execution, cause the highest priority position data or sensor position calculation data to be stored in a memory. In an example embodiment of the computer program product, the sensor position calculation data is also based on the position data.

[0052] The program code portions can also be configured to, upon execution, determine sensor position calculation data associated with the second sensor based on prior position data associated with the location tag or the second location tag. In example embodiments of the computer program product, determining the sensor position calculation data associated with the second sensor is further based on the sensor position calculation data associated with the first sensor. The program code portions can also be configured to, upon execution, validate the position data based on the sensor position calculation data. The program code portions can also be configured to, upon execution: determine a message route based on the calculated position data of the plurality of location tags associated with the sensor or the determined sensor position calculation data of the plurality of sensors; and transmit the message route in the monitored area.

[0053] In example embodiments, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: receive blinking data generated by a location tag associated with a first sensor; receive position data generated by the first sensor, wherein the position data includes a sensor identifier; calculate position data associated with the location tag based on the blinking data; and determine sensor position calculation data associated with the first sensor based on the position data. The program code portions are further configured to, upon execution, determine sensor position calculation data associated with the sensor based on prior position data associated with the location tag.

[0054] In example embodiments of the computer program product, the program code portions are further configured to, upon execution: receive position data associated with a second sensor from the first sensor, wherein the position data associated with the second sensor is based on communication between the first sensor and the second sensor; and determine sensor position calculation data associated with the second sensor based on the sensor position calculation data associated with the first sensor. The program code portions are further configured to, upon execution: assign a first priority to the position data and a second priority to the sensor position calculation data; and determine the highest priority available position data or sensor position calculation data. The program code portions can also be configured to, upon execution, cause the highest priority available position data or sensor position calculation data to be displayed on a graphical user interface. The program code portions can also be configured to, upon execution, cause the highest priority available position data or sensor position calculation data to be stored in a memory. The program code portions are further configured to, upon execution, validate the position data based on the first sensor position calculation data. The program code portions can also be configured to, upon execution: determine a message route based on the calculated position data of the plurality of location tags or the determined sensor position calculation data of the plurality of sensors; and transmit the message route in the monitored area.

[0055] In example embodiments, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: compute location data based on flicker data received from a location tag, determine sensor position calculation data based on location data or proximity data received from a sensor associated with the location tag, and determine an over-determined location based on the location data, the sensor position calculation data, and a location hierarchy. In example embodiments of the method, the location hierarchy includes the location data, the sensor position calculation data based on proximity data associated with the location data, a global position, or proximity data associated with the sensor.

[0056] In some embodiments of the computer program product, determining the over-determined location is based on a location hierarchy that includes at least two of the location data or the sensor position calculation data. In further example embodiments of the computer program product, determining the over-determined location is based on a location hierarchy that includes at least three of the location data or the sensor position calculation data. In example embodiments of the computer program product, determining the over-determined location is based on a location hierarchy that includes at least four of the location data or the sensor position calculation data.

[0057] The program code portions can also be configured to, upon execution, cause the over-determined location to be displayed on a user interface. The program code portions can also be configured to, upon execution, cause the apparatus to cause the over-determined location to be stored in a memory.

[0058] In example embodiments, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: compute location data based on flicker data received from a location tag, determine sensor position calculation data based on highest data or proximity data received from a sensor associated with the location tag, and determine an over-determined location based on the location data, the sensor position calculation data, a first monitoring zone hierarchy, and a second monitoring zone hierarchy.

[0059] In example embodiments of the computer program product, the location hierarchy of the first or second monitoring zone includes the location data, the sensor position calculation data based on proximity data associated with the location data, a global position, or proximity data associated with the sensor. In some example embodiments of the computer program product, determining the over-determined location is based on a location hierarchy that includes at least two of the location data or the sensor position calculation data. In further example embodiments of the computer program product, determining the over-determined location is based on a location hierarchy that includes at least three of the location data or the sensor position calculation data.

[0060] In an example embodiment of the computer program product, determining the over-determined position is based on a position hierarchy comprising at least four of the position data or the sensor position calculation data. The program code portions can also be configured to, upon execution, cause the computer program product to cause the over-determined position to be displayed on a user interface. The program code portions can also be configured to, upon execution, cause the over-determined position to be stored in a memory.

[0061] In an example embodiment, a method is provided that includes receiving tag blink data from a location tag associated with a participant, receiving sensor data from a sensor associated with the participant, calculating position data based on the blink data, determining sensor position calculation data based on the sensor data, and determining an object position based on the position data and the sensor data. In an example embodiment of the method, the sensor data is received over a mesh network.

[0062] In an example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to receive blink data from a location tag associated with a participant, receive sensor data from a sensor associated with the participant, calculate position data based on the blink data, determine sensor position calculation data based on the sensor data, and determine an object position based on the position data and the sensor data. In an example embodiment of the apparatus, the sensor data is received over a mesh network.

[0063] In an example embodiment, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: receive tag blink data from a location tag associated with a participant, receive sensor data from a sensor associated with the participant, calculate position data based on the blink data, determine sensor position calculation data based on the sensor data, and determine an object position based on the position data and the sensor data. In an example embodiment of the computer program product, the sensor data is received over a mesh network.

[0064] In another example embodiment, a method is provided that includes receiving first sensor data from a first sensor associated with a participant, receiving second sensor data from a second sensor associated with the participant, determining first sensor position calculation data based on the first sensor data, determining second sensor position calculation data based on the second sensor data, and determining a participant position based on the first sensor position calculation data and the second sensor position calculation data. In an example embodiment of the method, the sensor data is received over a mesh network.

[0065] In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to receive first sensor data from a sensor associated with a participant, receive second sensor data from a second sensor associated with the participant, determine first sensor position calculation data based on the first sensor data, determine second sensor position calculation data based on the second sensor data, and determine a participant position based on the first sensor position calculation data and the second sensor position calculation data. In an example embodiment of the apparatus, the sensor data is received over a mesh network.

[0066] In yet another example embodiment, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured, upon execution, to receive first sensor data from a sensor associated with a participant, receive second sensor data from a second sensor associated with the participant, determine first sensor position calculation data based on the first sensor data, and determine second sensor position calculation data based on the second sensor data, and determine a participant position based on the first sensor position calculation data and the second sensor position calculation data. In an example embodiment of the computer program product, the sensor data is received over a mesh network.

[0067] In another example embodiment, a method is provided that includes receiving blink data from a location tag associated with a participant, receiving sensor data from a sensor associated with the participant, calculating position data based on the blink data, determining sensor position calculation data based on the sensor data, and determining a position of the participant based on the position data when the participant is in a monitored area, and determining a position of the participant based on the sensor position calculation data when the participant is outside the monitored area. In an example embodiment of the method, the sensor data is received over a mesh network.

[0068] In another example embodiment, a method is provided that includes receiving blink data from a location tag associated with a participant, receiving sensor data from a sensor associated with the participant, calculating position data based on the blink data, determining sensor position calculation data based on the sensor data, and determining a position of the participant based on the position data when the participant is in a monitored area, and determining a position of the participant based on the sensor position calculation data when the participant is outside the monitored area. In an example embodiment of the method, the sensor data is received over a mesh network.

[0069] In further example embodiments, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured to, upon execution: receive blinking data from a location tag associated with a participant, receive sensor data from a sensor associated with the participant, calculate location data based on the blinking data, determine sensor position calculation data based on the sensor data, and determine a location of the participant based on the location data when the participant is in a monitored area, and determine a position of the participant based on the sensor position calculation data when the participant is outside the monitored area. In example embodiments of the computer program product, the sensor data is received over a mesh network.

[0070] In example embodiments, a method is provided that includes receiving first sensor data from a first sensor and receiving second sensor data from a second sensor, where the first sensor and the second sensor are associated with a participant, and determining a position of the participant based on the first sensor data when the participant is in a first monitored area, and determining a position of the participant based on the second sensor data when the participant is in a second monitored area, where the first sensor and the second sensor are different position technologies. In some example embodiments of the method, the first sensor or the second sensor data is received over a mesh network.

[0071] In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to: receive first sensor data from a first sensor and receive second sensor data from a second sensor, where the first sensor and the second sensor are associated with a participant, and determine a position of the participant based on the first sensor data when the participant is in a first monitored area, determine a position of the participant based on the second sensor data when the participant is in a second monitored area, where the first sensor and the second sensor are different position technologies. In example embodiments of the apparatus, the first sensor data or the second sensor data is received over a mesh network.

[0072] In another example embodiment, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured, upon execution, to: receive first sensor data from a first sensor and second sensor data from a second sensor, wherein the first sensor and the second sensor are associated with a participant, and determine a position of the participant based on the first sensor data when the participant is in a first monitoring zone, the position of the participant based on the second sensor data when the participant is in a second monitoring zone, wherein the first sensor and the second sensor are different position technologies. In example embodiments of the computer program product, the first sensor data or the second sensor data is received over a mesh network.

[0073] In example embodiments, a method is provided that includes: receiving blinking data from a location tag at a first blinking rate during a first time period, receiving blinking data from the location tag at a second blinking rate during a second time period, wherein the second blinking rate is different from the first blinking rate, wherein the second blinking rate indicates that the location tag is within a monitoring zone, and determining a participant location based on at least the blinking data received at the second blinking rate.

[0074] In other example embodiments, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to: receive blinking data from a location tag at a first blinking rate during a first time period, receive blinking data from the location tag at a second blinking rate during a second time period, wherein the second blinking rate is different from the first blinking rate, wherein the second blinking rate indicates that the location tag is within a monitoring zone, and determine a participant location based on at least the blinking data received at the second blinking rate.

[0075] In yet another example embodiment, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured, upon execution, to: receive blinking data from a location tag at a first blinking rate during a first time period, receive blinking data from the location tag at a second blinking rate during a second time period, wherein the second blinking rate is different from the first blinking rate, wherein the second blinking rate indicates that the location tag is within a monitoring zone; and determine a participant location based on at least the blinking data received at the second blinking rate.

[0076] In an example embodiment, a method is provided that includes transmitting blinking data from a location tag at a first blinking rate, receiving a transmission reliability signal, and transmitting the blinking data at a second blinking rate in response to receiving the transmission reliability signal. In an example embodiment of the method, transmitting at the second blinking rate is based on receiving the transmission reliability signal, and a failure to receive the transmission reliability signal causes the location tag to be transmitted at the first blinking rate.

[0077] In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to transmit blinking data from a location tag at a first blinking rate, receive a transmission reliability signal, and transmit the blinking data at a second blinking rate in response to receiving the transmission reliability signal. In an example embodiment of the apparatus, transmitting at the second blinking rate is based on receiving the transmission reliability signal, and a failure to receive the transmission reliability signal causes the location tag to be transmitted at the first blinking rate.

[0078] In an example embodiment, a computer program product is provided that includes a non-transitory computer readable medium having program code portions stored thereon, the program code portions configured, upon execution, to transmit blinking data from a location tag at a first blinking rate, receive a transmission reliability signal, and transmit the blinking data at a second blinking rate in response to receiving the transmission reliability signal. In an example embodiment of the computer program product, transmitting at the second blinking rate is based on receiving the transmission reliability signal, and a failure to receive the transmission reliability signal causes the location tag to be transmitted at the first blinking rate.

[0079] In yet another example embodiment, a location system is provided that includes a transmitter configured to transmit a transmission reliability signal, a location tag configured to transmit blinking data, wherein the location tag transmits the blinking data at a first blinking rate if the transmission reliability signal has been received and at a second blinking rate if the transmission reliability signal has not been received, and a receiver hub to receive the blinking data and to compute a tag location based at least on blinking data received at the first blinking rate.

[0080] In an example embodiment of the location system, the transmitter is configured to repeatedly transmit the transmission reliability signal. BRIEF DESCRIPTION OF DRAWINGS

[0081] The application has been described in general terms and with reference to the accompanying drawings, which are not necessarily drawn to scale, and in which:

[0082] Figure 1FIG. illustrates an exemplary environment equipped with radio frequency positioning systems and sensors for determining participant location or position, in accordance with some embodiments of the application;

[0083] Figures 2a-2e FIG. illustrates some exemplary tag and sensor configurations that can provide information for participant location or position determination, in accordance with some embodiments of the application;

[0084] Figures 3A-3F is a block diagram showing the input and output of a receiver and sensor receiver, in accordance with some embodiments of the application;

[0085] Figure 4 FIG. illustrates an exemplary over-determined positioning system that can utilize multiple positioning technologies, in accordance with some example embodiments of the application;

[0086] Figure 5a and 5b FIG. illustrates exemplary location technology precision and proximity transmission radii, in accordance with some example embodiments of the application;

[0087] Figure 6 FIG. illustrates exemplary receiver and transmission reliability signal paths, in accordance with some example embodiments of the application;

[0088] Figure 7 FIG. illustrates an exemplary over-determined positioning system with different monitoring areas, in accordance with some example embodiments of the application;

[0089] Figures 8a-8c FIG. illustrates an exemplary block diagram of processing components of a location system, in accordance with some example embodiments of the application; and

[0090] Figure 9 FIG. illustrates a flowchart of an exemplary process for determining transmissions from sensors, in accordance with some example embodiments of the application;

[0091] Figure 10 FIG. illustrates a flowchart of an exemplary process for determining transmissions from grid nodes, in accordance with some example embodiments of the application; and

[0092] Figure 11 FIG. illustrates a flowchart of an exemplary over-determined location determination process, in accordance with some example embodiments of the application. DETAILED DESCRIPTION

[0093] The present application will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the applications are shown. Indeed, the applications can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.

[0094] predefined

[0095] A "tag", "location tag", or "positioning tag" refers to an ultra-wideband (UWB) transmitter that transmits a signal comprising a burst (e.g., 72 pulses at a burst rate of 1 Mb / s) and optionally a burst with tag data packets, which can include tag data elements, which can include, but are not limited to, a tag unique identification number (tag UID), other identification information, sequential burst count, stored tag data, or other desired information for object or person identification, inventory control, etc. The transmitted tag signal is referred to herein as "glint data".

[0096] A "sensor" refers to any device that can collect and / or transmit data other than glint data. Such devices can include, but are not limited to, position triangulation devices such as global positioning systems (GPS), proximity detectors, accelerometers, magnetometers, time-of-flight sensors, health monitoring sensors (e.g., blood pressure sensors, heart monitors, respiration sensors, humidity sensors, temperature sensors), light sensors, etc.

[0097] The tag and sensor can be separate units or can be housed in a single monitoring unit. In some cases, the tag is configured to be in data communication with the sensor. Further, the tag can be configured to communicate with a short-range low-frequency receiver. The tag and sensor can be associated with one another based on a proximity of installation at the participant or through a tag-sensor correlation factor, which will be discussed in detail below. Additionally or alternatively, the tag and sensor can be associated in a database (possibly during a registration step) through a receiver hub or a receiving processing and distribution system.

[0098] A "mesh network" refers to a network of sensors in which each sensor in the network is configured to not only transmit its own sensor data, but also to relay sensor data of other sensors. The mesh network can transmit sensor data through a Wi-Fi protocol, such as IEEE 802.11, 802.15, or 802.16, a Bluetooth Low Energy (BLE) protocol, a near-field communication (NFC) protocol, etc.

[0099] An "origin node" refers to a sensor that is associated with a particular tag that is the origin point of sensor data transmission in the mesh network.

[0100] A "mesh node" is a sensor associated with a particular tag that receives and / or transmits sensor or tag data from a raw node in a mesh network. Depending on its status and transmission payload, a sensor can be toggled between being considered a raw node, a mesh node, or both.

[0101] The term "location data" or "position data" refers to a location determined by a location system based on a receiver receiving a flash data transmission from a location tag.

[0102] The term "bearing data" refers to data received from a sensor that can be used to determine sensor bearing calculation data or a bearing of a sensor that is not based on location tag flash data transmissions. Examples can include triangulation position data such as global positioning, telemetry data, etc.

[0103] The term "proximity data" refers to data that includes a sensed identity within a particular range or radius of a sensor. The sensed identity can be a fixed location or a mobile identity such as another participant.

[0104] The term "overdetermined position" refers to a calculated position or bearing of a tag, sensor, or combination thereof where two or more position technologies are used to provide redundancy and / or verification for the calculated position or bearing. In some embodiments, an overdetermined position can be determined or selected from one or more positions or bearings based on a position hierarchy.

[0105] SUMMARY

[0106] Some location systems can suffer from degradation or loss of location data due to reliance on a single position technology. These losses can be due to blocking or interference of location tag signals. For example, a tag can move outside of range of a receiver network, can be installed to a player at the bottom of a pile in football, a scrum in rugby, or positioned in close proximity to another body or other RF limiting body.

[0107] Various embodiments of the location systems discussed herein can improve accuracy and prevent degradation or loss of position or bearing data of an object or participant by utilizing a diverse or overdetermined positioning system. The overdetermined positioning system can include a variety of position technologies including, but not limited to, ultra-wideband (UWB), bearing triangulation such as global positioning system (GPS), proximity or triangulation positioning such as Wi-Fi, BLE, or NFC, etc.

[0108] In one embodiment, an over-determined positioning system can use two or more positioning technologies to provide redundancy and / or verification cross-checks of position data, thus enabling the positioning system to support a hierarchy of performance accuracy. For example, a UWB-based positioning can be used to generate a position hierarchy that can be considered the highest priority, proximity to a UWB device can be considered a second priority, and bearing calculations based on triangulation such as GPS can be considered a third priority. The position system can determine and display and / or store the over-determined position or the highest accuracy / priority position or available sensor bearing calculation data. Further, the position system can filter or verify the position data or sensor bearing calculation data by comparing various position and sensor bearing calculation data values to each other and / or to previously received data.

[0109] Tag positioning technologies that use line-of-sight signals between a tag and one or more receivers can generate degraded tag positioning data in situations where a tag loses line-of-sight communication with one or more receivers due to obstruction (e.g., a pile of marked players on a football field). In situations where a tag cannot be seen by one or more receivers, the associated sensor or raw node can transmit bearing data and / or proximity data to another sensor or mesh node. The sensor can transmit the bearing or proximity data over Bluetooth Low Energy (BLE), NFC, Wi-Fi, etc. The sensor associated with the tag can have a specific limited transmission range.

[0110] In example embodiments, proximity data or bearing data can be transmitted to a transceiver using a mesh network routing protocol, where a raw node transmits proximity data and / or bearing data to a mesh node. The mesh node then transmits to another mesh node until the message including the proximity data and bearing data reaches the receiver. In some example embodiments, a message count is used to limit the time or duration of transmission or relaying of tag messages. The message count can be a transmission count (e.g., the number of times a message has been transmitted from one tag to another), a time count, etc. In example embodiments, a directional long-range receiver antenna can be used to pull BLE messages directly from a mesh node without relying on the mesh network.

[0111] In one example embodiment, the location system includes a transmitter configured to send a transmission reliability signal to a sensor within a monitored area. Upon receipt of the transmission reliability signal by the sensor, it can determine that there is no obstruction or interference to the associated tag and cause the tag to transmit the blink data. Upon the sensor or in such a case the original node not receiving the transmission reliability signal, the sensor can determine that the tag blink data can be blocked and transmit proximity / position data to the mesh node and / or transmit a distress signal to the mesh node and / or send a signal to the tag to terminate or change the tag blink data. The mesh node can receive and transmit the proximity data or position data to the receiver through the mesh network, through a directional antenna backhaul, etc. In an example embodiment, the mesh node can transmit the original node position or proximity data based only on receipt of the distress signal, which will be described in more detail below.

[0112] In an example embodiment, the over-determined location system can use two or more location technologies to filter or verify location data that can be blocked, out of range, degraded due to interference, bounced off, etc. The location system can calculate a position (based on tag blink data) or a position (based on sensor data) based on each technology provided and compare them to verify the calculated position or position). In the event that the calculated position can be deemed inaccurate, any associated location data can be deemed inaccurate and thus not considered in favor of the location data, proximity data, or some combination thereof.

[0113] Examples of inaccurate / faulty location data can include a tag that appears to disappear from the network for one tag blink period or several tag blink periods (e.g., no blink data is received). Such a non-blinking tag can be assumed to be blocked. A tag can also appear to "bounce off" or jump to a far away location due to blink data reflection or other issues.

[0114] Some location technologies are less preferred for special installation environments. For example, UWB based location technologies can not be suitable for large or unbounded monitored environments (e.g., marathon running routes, etc.) due to their reliance on sufficient receiver coverage of the monitored environment. In another example, GPS can not be suitable for environments that require precise position determination (e.g., determining the precise, i.e., sub-foot, movements of a basketball player, football player, or baseball player).

[0115] In one embodiment, multiple location technologies can be used to make location determinations in difficult, unconventional, or even traditional environments where redundant location determinations can be desirable. An over-determined location system can specify two or more monitoring zones, each with a location hierarchy. For example, in one embodiment, in a race car driving, a car moving around a race track area or first monitoring zone can be monitored by a GPS-based positioning technology as the highest priority positioning technology, as precise sub-foot precision for the car's position is not required. However, a crew member moving around a pit area can be monitored by a UWB positioning technology as the highest priority positioning technology, as precise sub-foot precision for the crew member's position can be desirable to ensure safety and monitor crew member efficiency. In some embodiments, the combination of two or more location technologies, and the definition of multiple monitoring zones with associated location hierarchies, enables precision and coverage to be specifically designed for the type of location information desired in each zone of a monitored sporting event.

[0116] In some embodiments, a tag or sensor can receive a signal indicating that it is within a monitoring zone of one location technology (e.g., a UWB positioning technology) or has exited the monitoring zone and thus to shift transmission type or frequency. For example, in some embodiments, a sensor can be configured to shift to transmit only location data; to transmit only proximity, position, and / or to cause transmission of blink data; to change its blink rate, etc. In one embodiment, a tag can receive an indication of a boundary of a monitoring zone through a signal from an exciter at the transition zone or based on the sensor's receipt of a transmission reliability signal. In another example embodiment, a sensor can transmit position data and cause transmission of blink data, and a positioning system can determine an over-determined location, which in various embodiments can include the highest priority location or position that has been calculated based on precision, environment, and information requirements.

[0117] The use of multiple location technologies can provide a more precise and reliable positioning system. Moreover, the use of multiple location technologies can facilitate tracking of location and position at different levels of precision for different environments and information needs.

[0118] Example real-time positioning system

[0119] Figure 1An exemplary location system 100 is illustrated, which can be used to calculate a location through the accumulation of position data or Time of Arrival (TOA) at a receiver hub 108, whereby the TOA represents the relative Time of Flight (TOF) from an RTLS tag 102 recorded at each receiver 106 (e.g., UWB reader, etc.). In some examples, a timing reference clock is used such that at least a subset of the receivers 106 can be synchronized in frequency, whereby the relative TOA data associated with each RTLS tag 102 can be registered by counters associated with at least a subset of the receivers 106. In some examples, a reference tag 104, preferably a UWB transmitter, located at known coordinates is used to determine the phase offset between the counters associated with at least a subset of the receivers 106. The RTLS tags 102 and reference tag 104 reside in an active RTLS field. The systems described herein can be referred to as "multilateration" or "geolocation" systems, which terms refer to the process of locating a signal source by solving an error minimization function for a position estimate determined from the Time Difference of Arrival (DTOA) between TOA signals received at multiple receivers 106.

[0120] In some examples, the system including at least the tags 102 and receivers 106 is configured to provide two-dimensional and / or three-dimensional accurate positioning (e.g., sub-foot resolution) even in the presence of multipath interference, in part due to the use of short nanosecond duration pulses, the TOF of which can be accurately determined using detection electronics such as in the receivers 106, which detection electronics can trigger on the leading edge of the received waveform. In some examples, this short pulse characteristic allows the system to transmit the necessary data at a higher peak power, but lower average power level, compared to wireless systems configured for high data rate communications, but still operate within local regulatory requirements.

[0121] In some examples, to provide a preferred level of performance while complying with overlapping regulatory limits (e.g., FCC and ETSI regulations), the tags 102 can operate with an instantaneous -3dB bandwidth of approximately 400 MHz and an average transmission of less than 1 millisecond interval 187 pulses, so long as the packet rate is sufficiently low. In such examples, the predicted maximum range of a system operating at a center frequency of 6.55 GHz is approximately 200 meters with a 12 dBi directional antenna used at the receiver, but in other examples the planned range will depend on the receiver antenna gain. Alternatively or additionally, the range of the system allows for detection of one or more tags 102 with one or more receivers placed in a football stadium used in the context of a professional football game. Such a configuration advantageously meets the constraints imposed by regulators relating to peak and average power density (e.g., effective isotropic radiated power density (“EIRP”)) while still optimizing system performance relating to distance and interference. In further examples, tag transmissions with a -3dB bandwidth of approximately 400 MHz produce an instantaneous pulse width of approximately 2 nanoseconds in some examples, which enables a position resolution better than 30 centimeters.

[0122] Referring again to Figure 1 The object to be located has attached thereto a tag 102, preferably a tag with a UWB transmitter that transmits bursts (e.g., multiple pulses at a burst rate of 1 Mb / s, such as 112 bits of on-off keying (OOK) at a rate of 1 Mb / s), and optionally transmits bursts including information packets with OOK, which can include but are not limited to ID information, a sequential burst count, or other desired information for object or personnel identification, inventory control, etc. In some examples, a sequential burst count (e.g., packet sequence number) from each tag 102 can advantageously be provided in order to permit correlation of TOA measurement data from various receivers 106 at the receiver hub 108.

[0123] In some examples, the tags 102 can employ UWB waveforms (e.g., low data rate waveforms) to achieve extremely fine resolution due to their extremely short pulse (i.e., sub-nanosecond to nanosecond, such as 2 nsec (1 nsec on and 1 nsec off)) duration. As a result, the information packets can have a short length (e.g., 112 bits of OOK at a rate of 1 Mb / sec in some example embodiments), which advantageously enables a higher packet rate. If each information packet is unique, the higher packet rate results in a higher data rate; if each information packet is repeatedly transmitted, the higher packet rate results in a higher packet repetition rate. In some examples, the higher packet repetition rate (e.g., 12 Hz) and / or the higher data rate (e.g., 1 Mb / sec, 2 Mb / sec, etc.) of each tag can result in a larger data set for filtering to achieve a more accurate position estimate. Alternatively or additionally, in some examples, the shorter length of the information packets, along with other packet rates, data rates, and other system requirements, can also result in a longer battery life (e.g., 7 years of battery life using a 300 mAh battery at a transmission rate of 1 Hz in some example embodiments).

[0124] Tag signals can be received at a receiver directly from an RTLS tag, or can be received after being routed off a reflector. Compared to a direct signal, a reflected signal travels a longer path from the RTLS tag to the receiver, and thus is received later than the corresponding direct signal. This delay is referred to as an echo delay or multipath delay. If the reflected signals are strong enough to be detected by the receiver, they can corrupt the data transmission through inter-symbol interference. In some examples, the tags 102 can employ UWB waveforms to achieve extremely fine resolution due to their extremely short pulse (e.g., 2 nsec) duration. In addition, the signals can include short information packets (e.g., 112 bits of OOK) of slightly higher burst data rates (1 Mb / sec in some example embodiments) that advantageously keep the packet duration short (e.g., 112 microseconds), while allowing a substantially longer inter-pulse time (e.g., 998 nsec) than the expected echo delay to avoid data corruption.

[0125] The reflected signals can be expected to weaken with delay due to more reflections and longer distances traveled. Thus, beyond a certain value of the inter-pulse time (e.g., 998 nsec) corresponding to a certain path length difference (e.g., 299.4 m), further increases in the inter-pulse time (and thus decreases in the burst data rate) will have no advantage for any given transmitter power level. In this way, minimization of the packet duration allows the battery life of the tag to be maximized, as its digital circuitry need only be active for a short time. It will be appreciated that different environments can have different expected echo delays, such that different burst data rates and thus packet durations can be appropriate in different cases depending on the environment.

[0126] Minimization of the packet duration also allows the tag to transmit more packets in a given time period, although in practice the average EIRP limit regulated by the specification can often provide the overriding constraint. However, the short packet duration also reduces the likelihood of packets from multiple tags overlapping in time and thus causing data collisions. Thus, the minimum packet duration allows many tags to transmit a higher aggregate number of packets per second, either to enable tracking of a maximum number of tags, or to track a given number of tags at the highest rate.

[0127] In one non-limiting example, a 112-bit data packet length (e.g., OOK encoded) transmitted at a data rate of 1 Mb / sec (1 MHz) can be implemented with a transmission tag repetition rate of 1 transmission per second (1 TX / sec). Such an implementation can provide a battery life of up to seven years, where the battery itself can be a compact 3-volt button cell such as a BR2335 (Rayovac) series, with a battery charge rating of 300 mAhr. An alternative implementation can be a CR2032 series universal compact 3-volt button cell, with a battery charge rating of 220 mAhr, whereby, as can be appreciated, the latter universal button cell can provide a shorter battery life.

[0128] Alternatively or additionally, some applications can require a higher transmission tag repetition rate to track a dynamic environment. In some examples, the transmission tag repetition rate can be 12 transmissions per second (12 TX / sec). In such applications, it can be further appreciated that the battery life can be shorter.

[0129] The high burst data transmission rate (e.g., 1 MHz) coupled with short data packet lengths (e.g., 112 bits) and relatively low repetition rates (e.g., 1 TX / sec) provides two different advantages in some examples: (1) a greater number of tags can transmit independent of the fields of tags with lower probability of collision, and / or (2) the power of each independent tag transmission can be increased with appropriate consideration of battery life constraints, such that the total energy of a single data packet is less than the average power regulated for a given time interval (e.g., 1 millisecond time interval for FCC regulated transmissions).

[0130] Alternatively or additionally, additional sensor or telemetry data can be transmitted from the tag to provide the receiver 106 with information about the tag's environment and / or operating conditions. For example, the tag can transmit a temperature to the receiver 106. Such information can be valuable, for example, in systems involving perishable goods or other refrigeration requirements. In the present example embodiment, the temperature can be transmitted by the tag at a repetition rate that is lower than the repetition rate of the rest of the data packet. For example, the temperature can be transmitted from the tag to the receiver at a rate of once per minute (e.g., 1 TX / min), or in some examples, once every 720 transmissions of the data packet, whereby the data packet in the present example is transmitted at an example rate of 12 TX / sec.

[0131] Alternatively or additionally, the tag 102 can be programmed to intermittently transmit data to the receiver 106 in response to a signal from a magnetic command transmitter (not shown). The magnetic command transmitter can be a portable device that, in some example embodiments, is used to transmit a 125 kHz signal with a range of about 15 feet or less to one or more tags 102. In some examples, the tag 102 can be equipped with at least a receiver tuned to the magnetic command transmitter transmission frequency (e.g., 125 kHz) and a functional antenna used to facilitate reception and decoding of the signal transmitted by the magnetic command transmitter.

[0132] In some examples, one or more other tags (e.g., reference tag 104) can be placed within and / or around the monitored area. In some examples, the reference tag 104 can be configured to transmit a signal that is used to measure the relative phase (e.g., the count of a free-running counter) of a non-resettable counter within the receiver 106.

[0133] One or more (e.g., preferably four or more) receivers 106 are also placed at predetermined coordinates within and / or around the monitoring area. In some examples, the receivers 106 can be connected in a "daisy chain" fashion to advantageously allow a large number of receivers 106 to be interconnected over an important monitoring area in order to reduce and simplify cabling, provide power, etc. Each receiver 106 includes a receiver for receiving transmissions such as UWB transmissions and preferably includes packet decoding circuitry that extracts time of arrival (TOA) timing bursts, transmitter IDs, packet numbers, and / or other information that has been encoded in the tag transmission signals (e.g., material descriptions, personnel information, etc.) and is configured to sense signals transmitted by the tags 102 and one or more reference tags 104.

[0134] Each receiver 106 includes a time measurement circuit that measures the time of arrival (TOA) of a tag burst relative to its internal counter. The time measurement circuits are phase-locked (e.g., the phase difference does not change, so the individual frequencies are the same), with a common digital reference clock signal being distributed from a receiver hub 108 having a central timing reference clock generator through a cable connection. The reference clock signal establishes a common timing reference for the receivers 106. Thus, the multiple time measurement circuits of the individual receivers 106 are synchronized in frequency, but not necessarily in phase. While there can typically be a phase offset between any given pair of receivers 106, the phase offset is easily determined by using the reference tags 104. Alternatively or additionally, each receiver can be wirelessly synchronized via virtual synchronization without the need for a dedicated physical timing channel.

[0135] In some example embodiments, the receivers 106 are configured to determine various properties of the received signals. Since the measurements are determined in digital format at each receiver 106, rather than in analog format in some examples, the signals can be transmitted to the receiver hub 108. Advantageously, because the packet data and measurements can be transferred to the receiver memory at high speed, the receivers 106 can receive and process tag (and corresponding object) positioning signals on an almost continuous basis. Thus, in some examples, the receiver memory allows for capturing high burst rate tag events (i.e., information packets).

[0136] Data cables or wireless transmissions can transmit the measurement data from the receivers 106 to the receiver hub 108 (e.g., the data cables can achieve transfer speeds of 2 Mbps). In some examples, the measurement data is transferred to the central processor / hub at regular polling intervals.

[0137] Thus, the receiver hub 108 determines or otherwise computes the tag location (i.e., object location) by processing the TOA measurements with respect to the plurality of data packets detected by the receivers 106. In some example embodiments, the receiver hub 108 can be configured to solve for the coordinates of the tag using a non-linear optimization technique.

[0138] In some examples, the TOA measurements from the plurality of receivers 106 are processed by the receiver hub 108 to determine the location of the transmitting tag 102 through differential time of arrival (DTOA) analysis of the plurality of TOAs. DTOA analysis includes determination of the tag transmission time t0, whereby the time of flight (TOF) measured as the time elapsed from the estimated tag transmission time t0to the respective TOA graphically represents the radius of a sphere centered at the respective receiver 106. The distance between the surface of each sphere and the estimated location coordinates (x0, y0, z0) of the transmitting tag 102 represents the measurement error of each respective TOA, and minimization of the sum of the squares of the TOA measurement errors from each receiver participating in the DTOA position estimate provides the location coordinates (x0, y0, z0) of the transmitting tag and the transmission time t0of that tag.

[0139] In some examples, the systems described herein can be referred to as "over-specified" or "over-determined" systems. Thus, the receiver hub 108 can compute one or more valid (i.e., most correct) locations based on a set of measurements and / or one or more incorrect (i.e., less correct) locations. For example, a location can be computed that is not possible due to physical laws, or a location that can be an outlier when compared to other computed locations. Thus, one or more algorithms or heuristics can be applied to minimize such errors.

[0140] A starting point for minimization can be obtained by first performing a region search on a coarse grid of x, y, and z over a region defined by the user, followed by a local steepest descent search. In some examples, the starting position of the algorithm is fixed at the average position of all active receivers. An initial region search is not required, and in some examples optimization is continued by using a Davidon-Fletcher-Powell (DFP) quasi-Newton algorithm. In other examples, a steepest descent algorithm can be used.

[0141] One such algorithm for error minimization, which can be referred to as a time error minimization algorithm, can be described in Equation 1:

[0142] (1)

[0143] where N is the number of receivers, c is the speed of light, is the coordinate of the jthreceiver, t is the TOA measurement at the jthreceiver.j is the time of arrival at the jth receiver, and t0is the tag transmission time. The variable t0represents the transmission time. Since t0is initially unknown, the time of arrival t j is also related to a common time base, in some examples, the common time base is derived from the times of arrival. As a result, the differences between the different times of arrival are important for determining the location as well as t0.

[0144] The optimization algorithm that minimizes the error ε in equation 1 can be, for example, the Davidon-Fletcher-Powell (DFP) quasi-Newton algorithm. In some examples, the optimization algorithm that minimizes the error ε in equation 1 can be the steepest descent algorithm. In each case, the algorithm can use as a seed an initial position estimate (x, y, z) that represents a two-dimensional (2D) or three-dimensional (3D) average of the locations of the receivers 106 that participated in the tag location determination.

[0145] In some examples, the RTLS system includes a grid of receivers, where each receiver 106 in the grid of receivers maintains a receiver clock that is synchronized with the other receiver clocks, the receiver clock having an initially unknown phase offset. The phase offset between any two receivers can be determined by using a reference tag that is placed at a known coordinate position. The phase offset is used to solve for the constant offset between the counters within the various receivers 106, as described below.

[0146] In further example embodiments, N receivers 106 are placed at known coordinates , which are placed at distances from the reference tag 104, such as given in equation 2:

[0147] (2)

[0148] Each receiver R j utilizes a synchronized clock signal, for example, derived from a common frequency time base such as a clock generator. Since the receivers are not synchronized resets, there is an unknown, but constant offset O j between the internal free running counters of each receiver. The value of the constant offset O j is measured in terms of the number of sub-resolution count increments (e.g., number of nanoseconds for a nanosecond resolution system).

[0149] In some examples, the reference tag is used to calibrate the radio frequency positioning system as follows. The reference tag emits a signal burst at an unknown time τ R . Upon receiving the signal burst from the reference tag, the count measured at the receiver R j is given by equation 3:

[0150] (3)

[0151] where c is the speed of light, and β is the number of fine resolution count increments per unit of time (e.g., one per nanosecond). Similarly, each object tag T i at an unknown time τ i The transmitted signal to produce a count as given in Equation 4:

[0152] (4)

[0153] at the receiver R j , where d ij is the distance between the object tag T i and the receiver 106 R j . Note that τ i is unknown, but has the same constant value for all receivers. Based on the equations above for receivers R j and R k , and given the reference tag 104 information, the phase offset expressed as a differential count value is determined as given in Equations 5a-b:

[0154] (5a)

[0155] or

[0156] (5b)

[0157] where as long as remains constant, then remains unchanged, (meaning that the receivers and reference tag are fixed, and there are no multipath conditions), and β is the same for each receiver. Note that is a known quantity because, , , β, and are known. That is, the phase offset between receivers R j and R k can be easily determined based on the reference tag 104 transmissions. Thus, likewise from the above equations, for tag 102 (T i ) transmissions arriving at receivers R j and R k , the following Equations 6a-b can be derived:

[0158] (6a)

[0159] or

[0160] (6b)

[0161] Each time of arrival t j Reference can be made to a particular receiver (receiver "1") as given in equation 7:

[0162] (7)

[0163] The variable The minimization described in equation 1 can then be performed to obtain the solution .

[0164] In some example embodiments, the location of the tag 102 can then be output to the receiver processing and distribution system 110 for further processing of the location data to advantageously provide visualization, predictive analytics, statistics, etc.

[0165] Example tag / sensor localization and participant correlation

[0166] Figure 1 A monitored area 100 is shown. The monitored area 100 includes a plurality of locations at one or more time epochs. The plurality of locations can be divided into one or more regions, referred to as zones. Each zone can be described by one or more coordinate systems, such as a local NED (North-East-Down) system, a latitude-longitude system, or even a yard line system as can be used for a football game. A position is a description of a location or plurality of locations within the monitored area. For example, a field marker at the intersection of the south goal line and the west sideline at Bank of America Stadium in Charlotte, North Carolina can be described in a local NED system as {0,0,0}, or on a latitude-longitude system as 35.225336N 80.85273W latitude 751 feet elevation, or in a yard line system simply as "Panthers Goal Line." Because different types of localization systems or different zones within a single localization system can use different coordinate systems, a geographic information system (GIS) or similar monitored area database can be used to correlate the position data. In some embodiments, a global coordinate system, such as a latitude-longitude system, can describe a plurality of locations including one or more regions outside of the area monitored by the real-time localization system as well as one or more zones within the monitored area. In such embodiments, a participant can be tracked via a position when within the monitored area and via a coordinate when outside of the monitored area, or in either region by using the coordinate defined by the geographic information system.

[0167] Example tag / sensor localization and participant correlation

[0168] Figure 2a - Figure illustrates some exemplary tag and sensor configurations that can provide information to a location system or an over-determined location system, according to some embodiments of the application. A participant is any person, location or object that has attached a tag and / or sensor. Figure 2a Figure illustrates a participant 202, which is a football player wearing a device to which tags 102 are attached, according to some embodiments. In particular, the depicted participant 202 is wearing shoulder pads that have tags 102 affixed to opposite sides thereof. This positioning advantageously provides each tag 102 with an elevated broadcast location, thereby increasing its communication effectiveness. Additional sensors 203, such as accelerometers, magnetometers, compasses, gyroscopes, time-of-flight sensors, health monitoring sensors (e.g., blood pressure sensors, heart monitors, respiration sensors, humidity sensors, temperature sensors), light sensors, and the like, can be attached to the device worn by the participant 202. Additional sensors 204 can be attached to the shoulder pads, helmet, shoes, rib pads, elbow pads, jersey, pants, jumpsuit, undergarments, gloves, arm bands, wrist bands, and the like. In some cases, additional sensors can be fastened to or implanted beneath the skin of the player, swallowed, or otherwise carried inside the player's body. The sensors 204 can be configured to communicate directly or indirectly, through the tags 102 or other transmitters, with receivers (e.g., receivers 106 of Figure 1). Figure 1 For example, in one embodiment, the sensors 203 can be wired (e.g., possibly through wires sewn into the jersey or jumpsuit) or wirelessly connected to the tags 102 to provide sensor data to the tags 102, which are then transmitted to the receivers 106. In another embodiment, multiple sensors (not shown) can be connected to a dedicated antenna or transmitter, possibly placed in the helmet, which can transmit the sensor data to one or more receivers.

[0169] In an example embodiment, an array of tags 102 can be attached to the player, for example on the head, shoulders, wrists, hips, knees, elbows, feet, and the like, which can be used to determine the positions of various parts of the player's body relative to one another.

[0170] Figure 2b Figure illustrates a participant 206, which is depicted as a referee wearing a device to which tags 102 and sensors 203 are attached, according to some embodiments. In the depicted embodiment, tags 102 are attached to the participant's jersey proximate to opposite shoulders. Sensors 203 are placed in wrist bands worn on the referee's wrists, as shown. As discussed above in connection with Figure 2, the sensors 203 can be configured to communicate directly or indirectly, through the tags 102 or other transmitters, with receivers (e.g., receivers 106 of Figure 1). Figure 2a Figure 1 ​communication with the receiver 106) to communicate.

[0171] As discussed in greater detail below, the positioning of the sensor 204 (here, an accelerometer) proximate to the wrist of the participant can allow the receiver processing and distribution system 110 to determine specific motions, movements, or activities of the referee 206 for use in determining game events (e.g., the running of the game clock, a first down, a touchdown, etc.). The participant 206 can also carry other equipment, such as a penalty flag 208, which can also have a tag 102 (and optionally one or more sensors) attached to provide additional data to the receiver processing and distribution system 110. For example, the receiver processing and distribution system 110 can use tag location data from the penalty flag 208 to determine when the referee is merely carrying the penalty flag 208, and when the referee is using the penalty flag 208 to indicate a game event, such as a penalty (e.g., by throwing the penalty flag 208).

[0172] Figure 2c An example of a participant 210 is illustrated, which is depicted as a game ball having a tag 102 attached or embedded thereto, in accordance with some embodiments. Additionally, a sensor 203 can be attached to or embedded in the ball 210, such as an accelerometer, a time-of-flight sensor, etc. In some embodiments, the sensor 204 can be wired or wirelessly connected to the tag 102 to provide sensor data to the tag 102, which is then transmitted to the receiver 106. In some embodiments, the sensor 203 can transmit sensor data to the receiver tag 102 independently of the tag 102, such as described above in connection with Figure 2a

[0173] Figure 2d A monitoring unit 205 including a tag 102 and a sensor 203 is illustrated. The tag and sensor can be implemented in a single housing or monitoring unit 205. The tag and sensor can operate independently or can be in wired or wireless communication. The sensor 203 can be configured to transmit a signal to the tag 102 to start, stop, or change the rate of the flashing data transmission. The sensor 203 can send a signal configured to control the tag flashing data transmission by using a low frequency transceiver with a range based on the size of the monitoring unit 205.

[0174] Figure 2e ​Figures illustrate tag 103 and sensor 203 configurations in which the tag and sensor are separate units. The tag 102 can be associated with the sensor 203 but operate independently, or can be in wired or wireless communication. In the case of the tag 102 being in wireless communication with the sensor 203, the sensor can send a control signal to control the tag to flash data transmission, as discussed above in Figure 3d. The effective range of the low frequency transmission can be 12 inches, 18 inches, 24 inches, 36 inches, or any other distance value. The effective range of the low frequency transmission is based on the close installation location of the tag 102 and sensor 203. In the case of the tag 102 and sensor 203 being installed very close to each other, the low frequency transmission can have a lower range and power. For example, in the case of the tag 102 and sensor 203 being installed on the back of a helmet 2 inches apart from each other. Similarly, if the tag 102 and sensor are located far apart from each other, the range and power of the low frequency transmission can be increased. For example, in the case of the sensor being installed to a participant's belt at waist level and the tag being installed in a shoulder pad.

[0175] According to the present disclosure, it will be apparent to one of ordinary skill in the art that, once Figure 2a Once the tags 102 and sensors 203 are placed on the participants, they can be associated with the participants and / or each other. For example, in some embodiments, a unique tag or sensor identifier ("unique ID") can be associated with a participant profile (e.g., John Smith - runs back, Fred Johnson - line judge, or ID 027 - one of several game balls, etc.) and stored to a remote database accessible to the performance analysis system, as discussed in greater detail below. Each participant profile can also include or be associated with a variety of data, including but not limited to biometric data (e.g., height, weight, health data, etc.), role data, team ID, performance statistics, and other data that can be apparent to one of skill in the art from the foregoing description.

[0176] In some embodiments, such participant profile or role data can be predefined and stored in association with the unique tag or sensor identifier. In other embodiments, the participant profile or role data can also be "learned" by the system as a result of received tag or sensor data, array data, game data, game event data, etc. For example, in some embodiments, the system can determine that a tag or sensor is not associated with a participant profile, and can analyze data received from the tag and / or sensor to determine a likely participant role, etc., which can be ranked and then selected / confirmed by the system or displayed by the system for selection / confirmation by a user. In some embodiments, the system can determine a likely participant role (i.e., participant role data) based on determined participant orientation data (e.g., motion pattern, alignment position, etc.).

[0177] In some embodiments, as a result of receiving tag or sensor data, formation data, race data, race event data, etc., participant profile or persona data can also be updated by the system (i.e., generating a much more robust data set of the participant than the parameters established at initial registration), as described in greater detail below. In some embodiments, participant profile and / or persona data can be used in the performance analysis system to weight the participant's actions during analysis to help quantify what is happening, such as to help determine formations, races, race events, etc.

[0178] Tag ID and sensor data transmission architecture

[0179] Figure 3A 、 3B FIGS. 3C, 3D, 3E, and 3F illustrate block diagrams of various different architectures that can be used to transmit signals from one or more tags and sensors to one or more receivers of a super-ordinate location system, according to embodiments of the invention. In some embodiments, the depicted architectures can be used in conjunction with the receiver processing and analysis system 110 of FIG. 1. More than one of these architectures can be used together in a single system. Figure 1

[0180] Figure 3A FIG. 1 illustrates a system 100 that can be used to track and analyze the performance of a participant in a race, according to embodiments of the invention. The system 100 can include a location tag 102, a receiver hub 108, a receiver processing and analysis system 110, and a performance analysis system 112. Figure 1 The location tag 102 can be configured to transmit tag signals to one or more receivers 106, as shown. The one or more receivers 106 can transmit receiver signals to the receiver hub 108.

[0181] As shown, the depicted location tag 102 can generate or store a tag unique identifier ("tag UID") and / or tag data. The tag data can include useful information such as installed firmware version, last tag maintenance date, configuration information, and / or tag individual related factors. The tag individual related factors can include data indicating that a monitored individual (e.g., a participant) is associated with the location tag 102 (e.g., name, uniform number and team, biometric data, tag location on the individual, i.e., right wrist). As will be apparent to those of skill in the art in light of the present disclosure, the tag individual related factors can be stored to the location tag 102 when the tag is registered or otherwise associated with the individual. While shown as separate fields for purposes of illustration, one of ordinary skill in the art can readily appreciate that the tag individual related factors can be part of any tag data or even omitted from the tag.

[0182] ​The tag signal transmitted from the location tag 102 to the receiver 106 can include "blinking data" in that it is transmitted at a selected interval. This "blink rate" can be set by the tag designer or system designer to meet application requirements. In some embodiments, it is uniform for one or all tags; in some embodiments, it can depend on the data. The blinking data includes characteristics of the tag signal that allow the tag signal to be recognized by the receiver 106, so the location of the location tag 102 can be determined by the positioning system. The blinking data can also include one or more tag data packets. Such tag data packets can include any data from the tag 102 intended for transmission, such as the tag UID, tag data, and tag individual correlation factor in the described embodiments. In the case of a TDOA system, the blinking data can be or include a particular pattern, code, or trigger detected by the receiver 106 (or downstream receiver processing and analysis system) to identify that the transmission is from the location tag 102 (e.g., a UWB tag).

[0183] The depicted receiver 106 receives the tag signal, which includes the blinking data and tag data packets as discussed above. In one embodiment, the receiver 106 can pass the received tag signal directly to the receiver hub / positioning engine 108 as part of its receiver signal. In another embodiment, the receiver 106 can perform some basic processing on the received tag signal. For example, the receiver can extract the blinking data from the tag signal and transmit the blinking data to the receiver hub / positioning engine 108. The receiver can transmit time measurements, such as TOA measurements and / or TDOA measurements, to the receiver hub / positioning engine 108. The time measurements can be based on clock times generated or calculated in the receiver, which can be based on receiver offset values, which can be based on system time, and / or which can be based on time differences of arrival between the tag signal of the location tag 102 and the tag signal of an RF reference tag (e.g., a tag 104) as discussed above. The receiver 106 can additionally or alternatively determine signal measurements (such as received signal strength indication (RSSI), signal direction, signal polarity, or signal phase) from the tag signal and transmit the signal measurements to the receiver hub / positioning engine 108. Figure 1

[0184] Figure 3B The location tag 202 and sensor 203 are shown, such as the location tag 202 and sensor 203 worn on the person of an individual as shown in FIG. 2, which can be configured to transmit tag signals and sensor signals, respectively, to one or more receivers 106, 166. The one or more receivers 106, 166 can then transmit receiver signals to the receiver hub 108. The one or more receivers 106, 166 can share physical components, such as a housing or an antenna.

[0185] ​The depicted location tag 202 can include a tag UID and tag data, such as tag individual-related factors, and transmit as described above in connection with Figure 3A The tag signal discussed includes flicker data. The depicted sensor 203 can generate and / or store a sensor UID, additional stored sensor data (e.g., sensor individual-related factors, sensor type, sensor firmware version, last maintenance date, units of transmission environment measurements, etc.), and environment measurements. The "additional stored sensor data" of the sensor 203 can include any data intended for transmission, including but not limited to the location tag 202, reference tags (e.g., the 104), sensor receivers, receivers 106, and / or receiver / hub location engines 108. Figure 1

[0186] The sensor individual-related factors can include data indicating that the monitored individual is associated with the sensor 203 (e.g., name, uniform number and team, biometric data, sensor location on the individual, i.e., right wrist). As will be apparent to those of skill in the art in light of the present disclosure, the sensor individual-related factors can be stored to the sensor 203 when the sensor is registered or otherwise associated with the individual. While shown as separate fields for purposes of illustration, one of ordinary skill in the art can readily appreciate that the sensor individual-related factors can be part of any additional stored sensor data or omitted from the sensor entirely.

[0187] A sensor such as the sensor 203 constructed in accordance with embodiments of the present application can sense or determine one or more environmental conditions (e.g., temperature, pressure, pulse, heartbeat, rotation, velocity, acceleration, radiation, position, chemical concentration, voltage) and store or transmit "environmental measurements" indicative of such conditions. For purposes of illustration, the term "environmental measurements" includes measurements about the environment proximate to the sensor, including but not limited to ambient environmental information (e.g., temperature, orientation, humidity, etc.) and information about the health, physical fitness, operation, and / or performance of the individual. The environmental measurements can be stored or transmitted in analog or digital form, and can be transmitted as individual measurements, as a set of individual measurements, and / or as summary statistics. For example, a temperature in degrees Celsius can be transmitted as {31} or as {33, 32, 27, 22, 20, 23, 27, 30, 34, 31} or as {27.9}. In some embodiments, the sensor individual-related factors can be determined at least in part from the environmental measurements.

[0188] In some embodiments, the sensor 203 can be configured to transmit the sensor UID and the additional stored sensor data (e.g., sensor individual-related factors, sensor type, sensor firmware version, last maintenance date, units of transmission environment measurements, etc.) to the location tag 202, the reference tags (e.g., the 104), the sensor receivers, the receivers 106, and / or the receiver / hub location engines 108. Figure 3B ​In the illustrated embodiment, the location tag 202 transmits a tag signal to the receiver 106, and the sensor 203 transmits a sensor signal to the sensor receiver 166. The sensor signal can include one or more sensor information packets. Such sensor information packets can include any data or information from the sensor 203 intended for transmission, such as the sensor UID, additional stored sensor data, sensor individual-related factors, and environmental measurements in the depicted embodiment. The receiver signal from the receiver 106 and the sensor receiver signal from the sensor receiver 166 can be transmitted to the receiver hub 108 via wired or wireless communication, as illustrated.

[0189] Figure 3C A sensor 203 in communication with the location tag 202 is depicted in accordance with various embodiments. In one embodiment, the sensor 203 can be part of the location tag 202 (i.e., located in the same housing or assembly structure). In another embodiment, the sensor 203 can be distinct from (i.e., not resident in the same housing or assembly structure) the location tag 202, but configured to communicate with the location tag 202 wirelessly or via wired communication.

[0190] In one embodiment, the location tag 202, the sensor 203, or both, can generate and / or store a tag-sensor-related factor (e.g., a tag UID / sensor UID, a distance from the tag to the sensor at a particular swing posture, a sensor group associated with a group of tags, a sensor type associated with a tag, etc.) indicative of an association between the location tag 202 and the sensor 203. In the depicted embodiment, both the location tag 202 and the sensor 203 store the tag-sensor-related factor.

[0191] In the depicted embodiment, the sensor 203 transmits a sensor signal to the location tag 202. The sensor signal can include one or more sensor information packets as discussed above. The sensor information packets can include a sensor UID, sensor individual-related factors, additional stored sensor data, a tag-sensor-related factor, and / or environmental measurements. The location tag 202 can store some or all of the sensor information packets locally, and can package the sensor information packets into one or more tag data packets for transmission to the receiver 106 as part of the tag signal, or simply pass them along as part of its tag signal.

[0192] Figure 3D FIG. 1 illustrates a system 100 for tracking a golf ball 102 in accordance with one embodiment. The system 100 includes a reference tag 104 (e.g., a location tag) and a sensor 106 (e.g., a sensor tag) in communication with a receiver 108 (e.g., a receiver hub). The reference tag 104 and the sensor 106 are configured to communicate with each other and with the receiver 108 via wired or wireless communication. Figure 1of the reference tag 104), a location tag 202, a sensor 203, and two receivers 106. The depicted reference tag 104 is a location tag, and thus can include tag data, a tag UID, and be capable of transmitting tag data packets. In some embodiments, the reference tag 104 can form part of a sensor, and thus be capable of transmitting sensor information packets.

[0193] The depicted sensor 203 transmits a sensor signal to the RF reference tag 104. The RF reference tag 104 can locally store some portions or some or all of the sensor information packets, and can encapsulate the sensor information packets into one or more tag data packets for transmission as part of the tag signal to the receivers 106, or simply pass them as part of its tag signal.

[0194] As described above in connection with Figure 1 , Figure 3D The receivers 106 are configured to receive tag signals from the location tag 202 and the reference tag 104. Each of these tag signals can include blink data, which can include a tag UID, tag data packets, and / or sensor information packets. The receivers 106 each transmit a receiver signal to the receiver hub 108 via wired or wireless communication, as shown.

[0195] Figure 3E FIGURE 1 illustrates an example communication structure between a location tag 202, a plurality of receivers 106, and various sensor types, including but not limited to a sensor 203, a diagnostic device 233, a triangulator 243, a proximity locator 253, and a proximity marker 263, in accordance with various embodiments. In the depicted embodiment, none of the sensors 203, 233, 243, 253 form part of the location tag 202 or the reference tag 104. However, each of the sensors can include a sensor UID and additional stored sensor data. Each of the depicted sensors 203, 233, 243, 253 transmits a sensor signal including sensor information packets.

[0196] In the depicted embodiment, the receivers 106 are configured to receive tag signals from the location tag 202, and sensor signals directly from the sensor 203. In such embodiments, the sensor 203 can be configured to communicate in a common communication protocol with the location tag 202, as will be apparent to those of ordinary skill in the art.

[0197] Figure 3F FIGURE 1 illustrates an example communication structure between a location tag 202, a plurality of receivers 106, and various sensor types, including but not limited to a sensor 203, a diagnostic device 233, a triangulator 243, a proximity locator 253, and a proximity marker 263, in accordance with various embodiments. In the depicted embodiment, none of the sensors 203, 233, 243, 253 form part of the location tag 202 or the reference tag 104. However, each of the sensors can include a sensor UID and additional stored sensor data. Each of the depicted sensors 203, 233, 243, 253 transmits a sensor signal including sensor information packets.Figure 1 The location tag 202 shown can be configured to transmit a tag signal to one or more receivers 106. The one or more receivers 106 can transmit a receiver signal to a receiver hub 108. The sensor 203 can be housed separately from the tag 202 or can be housed in a single housing unit. The sensor 203 can be in wired or wireless communication with the tag 202 for tag signal control, such as starting, stopping, or changing the tag signal blink rate. The sensor 203 can transmit sensor data, sensor UID, tag-sensor correlation factor, etc., directly to the sensor receiver 166. In example embodiments, the sensor receiver 166 can be a long-range directional transceiver antenna configured to backhaul sensor data directly from the mesh node without using the mesh network.

[0198] In embodiments where sensor data is transmitted through the mesh network, the sensors can be designated as original node sensors 203a and mesh node sensors 203b. The sensor 203a that initiates the transmission of sensor data can be referred to as the original node 203a. The one or more sensors 203b that receive the sensor data from the original node and transmit it to the sensor receiver 166 can be referred to as mesh nodes 202b. The original node 202a and mesh nodes 202b can transmit sensor data through the mesh network to the next mesh node or sensor receiver 166 using Wi-Fi, BLE, or NFC.

[0199] Figure 3E FIG. depicts one type of sensor referred to herein as a "proximity interrogator." The proximity interrogator 223 can include circuitry operable to generate a magnetic, electromagnetic, or other field detectable by the location tag 202. Although not shown in FIG., the proximity interrogator 223 can include a sensor UID and other tag and sensor-derived data or information, as discussed above. Figure 3E

[0200] In some embodiments, the proximity interrogator 223 operates as a proximity communication device that can trigger the location tag 202 (e.g., when the location tag 202 detects the field generated by the proximity interrogator 223) to transmit blink data at an alternate blink pattern or blink rate. The location tag can initiate a preprogrammed (typically faster) blink rate to allow for more location points for tracking the individual. In some embodiments, the location tag can not transmit a tag signal until triggered by the proximity interrogator 223. In some embodiments, the location tag 202 can be triggered when the location tag 202 moves into proximity of the proximity interrogator 223 (e.g., within a communication proximity). In some embodiments, the location tag can be triggered when the proximity interrogator 223 moves into proximity of the location tag 202.

[0201] ​In other embodiments, the location tag 202 can be triggered when a button is pressed or a switch is activated on the proximity interrogator 223 or on the location tag itself. For example, a proximity interrogator 223 can be placed at the starting line of a race track. Each time a car passes the starting line, the car-mounted location tag 202 senses the signal from the proximity interrogator and is triggered to transmit a tag signal indicating that a lap has been completed. As another example, a proximity interrogator 223 can be placed at a Gatorade cooler. Each time an athlete or other participant fills a cup from the cooler, the participant-mounted location tag 202 senses the signal from the proximity interrogator and is triggered to transmit a tag signal indicating that Gatorade has been consumed. As another example, a proximity interrogator 223 can be placed on a medical cart. When a medical cart is used by medical personnel to lift a participant (e.g., an athlete) and move him / her to a locker room, the participant-mounted location tag 202 senses the signal from the proximity interrogator and is triggered to transmit a signal indicating that they have been removed from the competition. As explained, any of these post-trigger tag signals can be different from pre-trigger tag signals, depending on any aspect of the analog and / or digital properties of the transmitted tag signals.

[0202] Figure 3E Another type of sensor is depicted, which is not typically worn by an individual but is referred to herein as a "diagnostic device." Like the other sensors, however, the diagnostic device can measure one or more environmental conditions and store the corresponding environmental measurements in analog or digital form.

[0203] While the depicted diagnostic device 233 is not worn by an individual, it can generate and store sensor-individual-related factors for association with environmental measurements taken in connection with a particular individual. For example, in one embodiment, the diagnostic device 233 can be a blood pressure meter configured to store blood pressure data for various individuals as environmental measurements. Each set of environmental measurements (e.g., blood pressure data) can be stored and associated with a sensor-individual-related factor.

[0204] The depicted diagnostic device 233 is configured to transmit a sensor signal including a sensor information packet to the sensor receiver 166. The sensor information packet can include one or more of a sensor UID, additional stored data, environmental measurements, and / or sensor-individual-related factors. The sensor receiver 166 can associate some or all of the data from the sensor information packet with other stored data in the sensor receiver 166 or with data stored or received from other sensors, diagnostic devices, location tags 102, or reference tags. The sensor receiver 166 transmits a sensor receiver signal to the receiver hub 108.

[0205] Figure 3EAnother type of sensor shown in / F is a triangulator 243. A "triangulator" is a type of sensor that senses bearings. The depicted triangulator 243 includes a sensor UID, additional stored sensor data, and environmental measurements, as discussed above.

[0206] In some embodiments, a triangulator receiver, such as a global positioning system (GPS), receives bearing data, such as clock data transmitted by one or more geostationary satellites (satellites in known or knowable locations) and / or one or more terrestrial transmitters (also in known or knowable locations), compares the received clock data, and calculates a "bearing calculation." The bearing calculation can be included in one or more sensor information packets as an environmental measurement and transmitted to the receiver hub 108, which can determine the bearing calculation based on the bearing data. In example embodiments, the triangulator 243 can compare the bearing data clock data and calculate a bearing calculation, which can be included in one or more sensor information packets as an environmental measurement and transmitted to the receiver hub 108. Other triangulators can include to a common timing time difference system, to an arrival system, to a received signal strength system, etc.

[0207] In another embodiment, a triangulator includes one or more cameras or image analyzers that receive bearing data, such as emitted or reflected light or heat. The bearing data can be transmitted to the receiver hub 108, which can analyze the received bearing data, e.g., images, to determine the location of the individual or sensor. While a triangulator can transmit data wirelessly, it is not a location tag because it does not transmit blinking data or a tag signal that can be used by the receiver hub 108 to calculate a location. Rather, a triangulator senses bearing data and / or calculates a bearing calculation, which can thus be used by the receiver hub 108 as an environmental measurement to determine the location of the sensor.

[0208] In example embodiments, a triangulator includes an RFID based on an ISO-2 system or WhereNet TM . The ISO-2 system can have an active RFID chip that can be read by a sensor when in close proximity to the chip or forced to transmit upon receiving a predetermined signal or sensor bearing data. The receiver hub 108 can determine a sensor location calculation based on the arrival time difference of the RFID forced transmission.

[0209] In one embodiment, the trilateration locator can be combined with a location tag or reference tag (not shown). In such an embodiment, the trilateration locator can calculate and transmit its position calculation to one or more receivers via the location tag. However, the receiver hub will calculate the tag location based on the flash data received as part of the tag signal, not just the position calculation. The position calculation will be considered an environmental measurement, and can be included in the associated sensor information packet.

[0210] It will be apparent to those of ordinary skill in the art that a position calculation (e.g., a GPS receiver position calculation) is not as precise as a location calculation (e.g., a UWB waveform-based location calculation) performed by a receiver hub / positioning engine constructed in accordance with various embodiments of the present application. This is not to say that position calculations cannot be improved using known techniques. For example, a variety of influences including atmospheric conditions can cause GPS precision to vary over time. One way to control for this is to use a differential global positioning system (DGPS) that includes a fixed trilateration locator or network of fixed trilateration locators placed in known positions, and the coordinates of the known positions are stored in memory as additional stored sensor data. These trilateration locators receive clock data from geostationary satellites, determine position calculations, and broadcast the difference between the position calculations and the stored coordinates. This DGPS correction signal can be used to correct for these influences and significantly reduce location estimation error.

[0211] Figure 3E Another type of sensor shown in FIG. F is a proximity detector 253. A "proximity detector" is a sensor that senses the presence of an identification within a small area (e.g., a local area) relative to the Figure 1 The identification sensed by the proximity detector 253 and the range or radius associated with the identification can be referred to as proximity data. In an example embodiment, the proximity detector 253 can be a radio frequency identification (RFID) chip. The RFID chip can be sensed by an RFID sensor when the RFID sensor is within a predetermined range.

[0212] In an example embodiment, the proximity detector 253 can be a radio frequency identification (RFID) chip. The RFID chip can be sensed by an RFID sensor when the RFID sensor is within a predetermined range.

[0213] In example embodiments, proximity detector 253 can sense Bluetooth Low Energy (BLE) signals that identify the sensor. The BLE transmission can have a predetermined radius, and the transmission can include a sensor or associated tag UID for the proximity sensor. Receiver hub 108 can determine the location of each identified proximity sensor based on the associated tag and the predetermined transmission radius. The BLE proximity bearing calculation can be determined as the location or area where the proximity radii intersect, as Figure 5a depicted.

[0214] In example embodiments, proximity detector 253 can be a Wi-Fi transceiver. The Wi-Fi transceiver can transmit and receive Wi-Fi proximity or identification signals to and from sensors within the transmission range. The Wi-Fi transceiver can have a predetermined range or use RSSI to determine proximity. Where the Wi-Fi transceiver has a predetermined broadcast or receiver range, the tag proximity bearing is calculated in substantially similar manner to the BLE transmitters discussed above. Where the Wi-Fi transceiver does not have a predetermined range, the identified sensors closest and farthest to the sensor are determined based on signal strength using Wi-Fi RSSI. Additionally, an approximation of the transmission radius can be derived from the RSSI and the proximity bearing calculated in substantially similar manner to the BLE transmitters above.

[0215] In some example embodiments, proximity can be determined based on a predetermined relationship between tags or sensors. Where tags or sensors are moved towards or away from each other, receiver hub 108 or receiver processing and distribution system 110 can determine a change in the state of the proximity associated with the relationship. For example, if an official has a tag 102 or sensor 203 associated with a portion of his body, such as his shoulder, and there is a tag or sensor associated with a flag held in a pocket of his uniform, there can be a predetermined relationship between the flag and the official's shoulder. Where the flag is thrown, the proximity relationship will change, and receiver hub 108 or receiver processing and distribution system 110 can update the state of the proximity relationship.

[0216] In some embodiments, the proximity detector senses attributes of the individual (or the individual's wristband, tag, marker, card, badge, clothing, uniform, garment, phone, ticket, etc.). The identified proximity data sensed by the proximity detector can be stored locally at the proximity detector 253 as shown, and transmitted as proximity data to the sensor receiver 166 via one or more sensor information packets, for example.

[0217] In some embodiments, proximity detector 253 can have a defined location, which is generally stationary, and can be associated with Figure 1associated with a location in the monitored area 100. For example, the proximity detector 253 can be located at a finish line of a race track, an entry gate of a stadium, a diagnostic device, at a goal line or goal post of a football field, at a base or home plate of a baseball infield, or similar fixed locations. In such embodiments where the proximity detector is stationary, the bearing coordinates of the proximity detector and sensor UID can be stored to a monitored area database (not shown) accessible by one or more of the receiver 106, 166, receiver hub 108, and / or other components of the receiver processing and analysis system 110. In embodiments where the proximity detector is mobile, a triangulator can be utilized to determine bearing calculations, or the proximity detector can be combined with a location tag and located by the receiver hub 108. While shown as separate fields in FIG. 1 for illustrative purposes, the identity information and bearing data can include additional stored sensor data, environmental measurements, or portions of both. Figure 3E

[0218] In one embodiment, the proximity detector can be associated with a reference tag (e.g., tag 104) whose bearing is recorded in the monitored area database. In other embodiments, the proximity detector is mobile such that it can be transported to where it is needed. For example, the proximity detector 253 can be located on a medical cart, a survey marker, a diagnostic device, on a goal post, or carried by medical or security personnel. In embodiments where the proximity detector 253 is mobile, it will typically be associated with a location tag or triangulator such that the location (for a location tag) or bearing (for a triangulator) can be determined when the identity is sensed. Figure 1

[0219] In embodiments where the proximity detector includes a location tag, the receiver hub 108 will locate the associated location tag and the tag data / sensor data filter will correlate the location data of the associated location tag as the location of the proximity detector while determining the identity of the associated individual from any received sensor information packets. In alternative embodiments where the proximity detector includes a triangulator, the triangulator calculations can be stored as bearing calculations of additional stored sensor data and / or environmental measurements and transmitted as one or more sensor information packets. In one embodiment, the sensor information packets of the proximity detector can include both sensed identity information and bearing calculations.

[0220] Figure 3E ​​Another type of sensor shown in the middle is a proximity marker 263. The proximity marker has an azimuthal position and an identification code (e.g., a sensor UID). The proximity marker 263 can also include additional stored sensor data, as shown. The depicted proximity marker 263 is configured to be read by a proximity detector 253. In some embodiments, the proximity detector 253 can also be configured to write information to the proximity marker 263.

[0221] The proximity marker 263 can be a sticker, card, label, passive RFID tag, active RFID tag, NFC tag, ticket, metal plate, electronic display, e-paper, ink surface, sundial, or other visible or machine-readable identification device, as known in the art. The coordinates of the proximity marker 263's position are stored so that they are accessible by the receiver / positioning engine 108. For example, in one embodiment, the proximity marker 263's position coordinates can be stored in a field database or a monitored area database accessible via a network, or stored locally in the proximity detector 253 as additional stored data.

[0222] In some embodiments, the proximity marker 263's position is encoded into the proximity marker 263 itself. For example, the proximity marker 263's position coordinates can be encoded into a passive RFID tag placed at that position. As another example, the proximity marker 263's position coordinates can be encoded into a printed barcode placed at that position. As another example, a proximity marker 263 comprising an NFC tag can be encoded with the location "Goal Zone," and the NFC tag can be placed at or near the goal zone of the Bank of America Stadium. In some embodiments, the stored coordinates of the proximity marker 263 can be offset from the actual coordinates of the proximity marker 263 by a known or determinable amount.

[0223] In one embodiment, a proximity marker 263 such as an NFC tag can be encoded with a position. When a sensor such as a proximity detector approaches the NFC tag, it can read the position, then transmit the position in a sensor information packet to the sensor receiver 166', and ultimately to the receiver hub 108. In another embodiment, a proximity marker 263 such as a barcode tag can be encoded with an identification code. When a smartphone with a proximity detector such as a barcode imager and a triangulator such as a GPS chip, GPS application, or similar device approaches the barcode marker, the smartphone can read the identification code from the barcode, determine a position calculation from the received clock data, then transmit the identity and position calculation to the sensor receiver 166', and ultimately to the receiver hub 106 as part of one or more sensor information packets.

[0224] In the depicted embodiment, both the triangulator 243 and the proximity detector 253 are configured to transmit sensor signals carrying sensor information packets to the sensor receiver 166'. The depicted sensors 243, 253, like any sensor discussed herein, can transmit sensor signals via wired or wireless communication protocols. For example, any proprietary or standard wireless protocol (e.g., 802.11, Zigbee, ISO / IEC 802.15.4, ISO / IEC 18000, IrDA, Bluetooth, CDMA, or any other protocol) can be used for sensor signals. Alternatively or additionally, any standard or proprietary wired communication protocol (e.g., Ethernet, parallel, serial, RS-232, RS-422, USB, Firewire, I 2 Similarly, the sensor receiver 166' and any receiver discussed herein can use similar wired and wireless protocols to transmit receiver signals to the receiver hub / position engine.

[0225] In one embodiment, upon receiving sensor signals from the triangulator 243 and the proximity detector 253, the sensor receiver 166' can associate some or all of the data from the received sensor information packets with other data stored to the sensor receiver 166', or with data stored or received from other sensors (e.g., the sensors 203, the audio sensor 105), the diagnostic device 233, the location tag 102, or the RF reference tag 104. Such associated data is referred to herein as "associated sensor data." In the depicted embodiment, the sensor receiver 166' is configured to transmit some or all of the received sensor information packets and any associated sensor data to the receiver hub 108 as part of the sensor receiver signals.

[0226] In one embodiment, a smart phone including a proximity detector such as a barcode imager and a triangulation locator such as a GPS chip can associate an identification code determined from a barcode with a position calculation from received clock data as associated sensor data, and transmit a sensor information packet including such associated sensor data to receiver hub 108. In another embodiment, a smart phone can transmit a first sensor information packet including an identification code and a unique identifier of the smart phone to another sensor receiver, the smart phone can transmit a second sensor information packet including a position calculation and the unique identifier of the smart phone to the sensor receiver, and the sensor receiver can associate the position calculation with the identification code based on the common smart phone unique identifier, and transmit such associated sensor data to receiver hub 108. In another embodiment, a sensor receiver can determine a first time measurement associated with a first sensor information packet and a second time measurement associated with a second sensor information packet, which measurements can be used by receiver hub 108 in conjunction with sensor UIDs to associate the first sensor information packet with the second sensor information packet.

[0227] In one embodiment, receiver hub 108 receives receiver signals from receivers 106 and sensor receiver signals from sensor receivers 166, 166'. In the depicted embodiment, receivers 106 can receive flash data from location tags 102 and transmit some or all of the flash data to receiver hub 108, possibly with additional time measurements or signal measurements. In some embodiments, the time measurements or signal measurements can be based on tag signals received from RF reference tags (e.g., reference tags 104) of known locations. Receiver hub 108 collects flash data, time measurements (e.g., time of arrival, time difference of arrival, phase) and / or signal measurements (e.g., signal strength, signal direction, signal polarization, signal phase) from receivers 106 and calculates location data for tags 102 as discussed above in connection with Figure 1 In some embodiments, receivers 106 can be configured with appropriate RF filters to filter out potential interfering signals or reflections proximate to a racecourse or other monitored area. Figure 1

[0228] Receiver hub 108 can also access stored data or clock data from local storage and from network locations. Receiver hub 108 uses this information to determine location data for each location tag. It can also associate data derived or extracted from tag signals transmitted from one or more location tags with information or data derived or extracted from sensor signals transmitted from one or more sensors.

[0229] ​In addition to the previously described TOA or TDOA systems, other real-time location systems (RTLS), such as those based on received signal strength indication, can potentially be implemented by the receiver hub 108. Any RTLS system that uses location tags (including those described herein) can require considerable processing by the receiver hub 108 to determine location data from the blink data received from the tags. These can require time measurements and / or signal measurements in addition to the blink data, which preferably includes the tag UID. In contrast, in other systems such as global positioning system (GPS) systems, the location data is determined based on the position calculation transmitted from a GPS transmitter (also referred to as a GPS receiver or GPS tag), which includes calculated information about the location of the placed tag (i.e., coordinates determined at the tag by satellite signal triangulation, etc.). Thus, GPS information generally refers to additional information transmitted with the GPS transmitter ID before the sensor receiver receives the transmission.

[0230] The GPS host device or backend server can receive the GPS information and simply resolve the position calculation (rather than calculating the position information at the host device) and the GPS transmitter ID into a data record. This data record can be used as the GPS position calculation, or it can be converted to a different coordinate system to be used as the GPS position calculation, or it can be further processed with DGPS information to be used as the GPS position calculation.

[0231] Returning to Figure 3C , the depicted location tag 202 is used to transmit (sometimes referred to as backhaul) sensor information packet transmissions to the receiver 106. In some embodiments, although not shown, multiple sensors 203 can transmit sensor signals carrying sensor information packets to the location tag 202. Such received sensor information packets can be associated with the blink data transmitted to the receiver 106.

[0232] In one embodiment, the receiver hub 108 can resolve the sensor information packet from the received tag data packet and associate the sensor information packet with the location tag 202 that transmitted the sensor information packet. Thus, the receiver hub 108 can be able to determine location data that can include location and other data from one or more tags or sensors (e.g., tag data, tag UID, tag-individual correlation factors, sensor-individual correlation factors, additional stored sensor data, environmental measurements (e.g., audio data), tag sensor correlation factors, identity information, position calculations, etc.). Such data and information can be transmitted to the receiver processing and analysis system 110.

[0233] In some embodiments, once the receiver hub 108 determines a position estimate for the location tag 102 at the time epoch of the tag signal, the receiver hub 108 can also associate the position estimate with the tag data packet included in the blink data of the tag signal. In some embodiments, the position estimate of the tag signal can be used as the position data for the tag data packet. In some embodiments, the receiving hub / position engine 108 can use a geographic information system (GIS) to refine the position estimate, or map the position estimate in one coordinate system to a position estimate in a different coordinate system, to provide a position estimate for the tag data packet.

[0234] In one embodiment, the position estimate for the tag data packet can be associated with any data in the tag data packet, including the tag UID, other tag data, and, if included, one or more sensor information packets, including the sensor UID, additional stored sensor data, and environmental measurements. Since the environmental measurements can include a position calculation from a triangulator (e.g., a GPS device), the receiver hub 108 can resolve the position calculation and use it to refine the position estimate of the tag data packet.

[0235] Preferably, the receiver hub 108 can access a single database to determine tag-individual correlation factors or sensor-individual correlation factors. Individual data (e.g., individual profiles) can be stored in a server, in tag memory, in sensor memory, or other memory accessible via a network or communication system, including the tag data or additional stored sensor data as previously explained.

[0236] In some embodiments, by comparing data accessed using the sensor-individual correlation factors, the receiver hub 108 can associate an individual with a sensor information packet received from a sensor, and / or can associate an individual with such a sensor. Since the receiver hub 108 can associate a sensor position estimate with a sensor information packet, the receiver hub 108 can also estimate an individual position for the associated individual.

[0237] In another embodiment, receiver hub 108 can associate a sensor with a tag data packet received from a location tag 102 by comparing data accessed using tag-sensor correlation factors. Because receiver hub 108 can associate a location estimate with a tag data packet, receiver hub 108 can also create a sensor location estimate for the associated sensor. By comparing a location estimate for a location tag with a sensor location estimate or a sensor bearing estimate, receiver hub 108 can associate a location tag with a sensor, or can associate a tag data packet with a sensor information packet. Receiver hub 108 can also determine a new or refined tag-sensor correlation factor based on the association.

[0238] In yet another embodiment, receiver hub 108 can associate a location tag with an individual, or can associate a tag data packet with an individual, by comparing a location estimate for a location tag with an individual location estimate or an individual bearing estimate. Receiver hub 108 can also determine a new or refined tag-individual correlation factor based on the association.

[0239] In one embodiment, receiver hub 108 can associate a sensor with an individual, or can associate a sensor information packet with an individual, by comparing a location estimate for a sensor with an individual location estimate or an individual bearing estimate. Receiver hub 108 can also determine a new or refined sensor-individual correlation factor based on the association.

[0240] Data derived or extracted from tag signals transmitted from one or more location tags is referred to herein as "tag-derived data" and shall include, but is not limited to, tag data, tag UIDs, tag-individual correlation factors, tag-sensor correlation factors, tag data packets, blip data, time measurements (e.g., time of arrival, time difference of arrival, phase), signal measurements (e.g., signal strength, signal direction, signal polarization, signal phase), and position data (e.g., including tag position estimates). Tag-derived data is not derived from a location tag, but is derived from information transmitted by a location tag. Information or data derived or extracted from sensor signals transmitted from one or more sensors is referred to herein as "sensor-derived data" and shall include, but is not limited to, sensor UIDs, additional stored sensor data, sensor-individual correlation factors, environmental measurements, sensor information packets, bearing calculations (including sensor bearing estimates), position information, identity information, tag-sensor correlation factors, and associated sensor data. Information or data derived or extracted from audio sensor signals transmitted from one or more audio sensors is referred to herein as "audio data" and shall include, but is not limited to, audio sensor UIDs, additional stored audio sensor data, audio sensor-individual correlation factors, audio sensor information packets, tag-audio sensor correlation factors, and associated audio sensor data. Data derived or extracted from stored individual data is referred to herein as "individual profile information," "participant profile information," or simply "profile information" and shall include, but is not limited to, tag-individual correlation factors, sensor-individual correlation factors, names, uniform numbers and teams, biometric data, tag bearing on individual. In various embodiments, the receiver hub 108 can transmit tag-derived data, sensor-derived data, individual profile information, various combinations thereof, and / or any information from the GIS, the field database, the monitored area database, and the individual database to the receiver processing and analysis system 110.

[0241] Example over-determined location system using multiple location technologies

[0242] Figure 4A diagram illustrating an over-determined location system using multiple location technologies. The location system can include participants 402a-e, tags 102, sensors 203, monitoring units 510, receivers 106, transceivers 107 and 107a, receiver hub 108, receiver processor and distribution system 110, and energizers 112. Participants 402a-e can carry tags 102 and sensors 203 or monitoring units 510, as depicted in the participant 402 breakouts. The following description of tags 102 and sensors 203 can include tags and sensors housed within monitoring units 510 or installed separately. Tags 102 and sensors 203 can be referenced by their associated participant designator. For example, participant 402a can carry tag 102a and sensor 102a. Each tag 102a-e can transmit blink data as described above in Figure 1 FIG. 3. Sensors 203a-e can transmit proximity and / or bearing data or receive and transmit proximity and / or bearing data from other sensors, as shown in FIG. 3. Transceivers 107 can function as sensor receivers, such as sensor receiver 166 of / F. Figure 3E

[0243] Proximity data can include BLE, NFC, Wi-Fi, or other communication transmissions including a tag UID or sensor UID of each sensor within range. Proximity data can be a proximity detector identification of a proximity sensor, such as a sensor or tag UID with a predetermined range or proximity radius, such as a Wi-Fi RSSI. Bearing data can include, but is not limited to, triangulation bearing data, such as GPS or ISO-2, telemetry data, or other data that can be used to determine a sensor bearing. Sensors 203a-e can transmit proximity data or bearing data via NFC, Wi-Fi, BLE, etc.

[0244] In cases where a sensor is a raw point for transmitting proximity data or bearing data, the sensor can be referred to as a raw node. In cases where a sensor receives and / or transmits proximity data or bearing data of a raw node, the sensor can be referred to as a mesh node. As described below, a sensor can dynamically switch between a raw node, a mesh node, or both, based on transmitting sensor data from another sensor, its own sensor data, or both, as described below.

[0245] ​The original node 203a can transmit proximity data or position data to the mesh nodes 203b, 203c, or 203d. The mesh nodes 203b, 203c, 203d can be configured to relay the proximity data or position data to the transceiver 107 using a mesh network protocol. In an example embodiment, the sensor 203b can be an original node and a mesh node when transmitting proximity data or position data from the sensor 203a and transmitting its own proximity data or position data. Similarly, the sensor 203b can be an original node when transmitting proximity data or position data to the mesh node 203c.

[0246] In an example embodiment, the directional long-range transceiver antenna 107a can pull proximity data or position data directly from the original node 203a or mesh node 203b without using a mesh network. In an example embodiment, the mesh network can be used to transmit location or proximity data outside of interference areas and backhauled through the directional long-range transceiver antenna 107a, which interferes with physical interference such as an athlete pile-up.

[0247] In an example embodiment, the original node 203a and subsequent mesh nodes 203b-e append their associated tag UID or sensor UID to the transmission of sensor proximity data or position data. The tag / sensor UID can be used by the mesh nodes 203b-e to determine a transmission count, as described below. Additionally, the tag / sensor UID can be used by the receiver hub 108 or receiver processing and distribution system 110 for system analysis or diagnostics. For example, the receiver hub 108 or receiver processing and distribution system 110 can determine a route of proximity or position data through the mesh network.

[0248] In an example embodiment, the duration of the relayed transmission of proximity data or position data messages through the mesh network can be limited by a message count. The limitation of the message transmission duration prevents messages from circulating indefinitely throughout the mesh network or continuing to be transmitted after the message has been received by the transceiver 107. The message count can be a number of transmissions from sensor to sensor (e.g., a transmission count), such as three transmissions, four transmissions, five transmissions, or any other number of transmissions. The message count can be a time count, such as 3 seconds, 2 seconds, 1 second, ½ second, or any other time value.

[0249] The mesh nodes 203b-e can transmit the received original node 203a proximity data or position data in the event that the message count does not satisfy a predetermined threshold (e.g., 4 transmissions or 3 seconds). The mesh nodes 203b-e can not transmit the received original node 203a proximity data or position data in the event that the message count satisfies a predetermined threshold (e.g., 4 transmissions or 3 seconds).

[0250] For example, the original node 203a can transmit proximity or position data to the mesh node 203b, and the mesh node 203b can transmit to mesh nodes 203c-d. In the case where the message count threshold is four transmissions, mesh node 203d is the last transmission of the message. The message can be received by a transceiver 107, which sends the message to a receiver hub 108 for processing, or by another mesh node 203e. The message count threshold is met in the case where the mesh node 203e receives the message and the mesh node ignores the message, thereby terminating the message route.

[0251] In another example, the original node 203a can transmit proximity or position data to the mesh node 203b with a time stamp, and the mesh node 203b can transmit to mesh nodes 203c-d. In the case where the message count threshold is 3 seconds, each of the mesh nodes 203b-d verifies that the time stamp is less than 3 seconds. In the case where the transmission to mesh node 203d occurs before 3 seconds and the subsequent transmission would exceed 3 seconds, the transmission from 203d is the last transmission of the message. The message can be received by a transceiver 107, which sends the message to a receiver hub 108 for processing, or by another mesh node 203e. The message count threshold of 3 seconds is met in the case where the mesh node 203e receives the message and the mesh node ignores the message, thereby terminating the message route.

[0252] In example embodiments, the receiver hub 108 or receiver processing and distribution system 110 can determine an optimal route for the proximity or position data message. The receiver hub 108 or receiver processing and distribution system 110 can determine that blink data has not been received for a specified tag. The receiver hub 108 or receiver processing and distribution system 110 can use the last known location of the tag 102a and / or a location calculation of the participant 402a and location or position calculations of other participants 402b-e in the monitored area to determine an optimal route (e.g., a minimum number of transmissions) for the message to reach the transceiver 107. The receiver hub 108 or receiver processing and distribution system 110 can cause the transceiver 107 to transmit the message route to the monitored area. The sensors 203 can be configured with transceivers to receive the message route or other control signals from the receiver hub 108 or processing and distribution system 110. In the case where the mesh nodes 203b-d receive the proximity or position data message, the mesh nodes can determine whether the mesh node is designated in the message route. If the sensor is designated, the mesh nodes 203b-e can transmit the proximity and position data message with their own data. In the case where the mesh nodes 203b-e are not designated, the mesh nodes do not consider the received proximity data or position data.

[0253] In example embodiments, the monitoring area 100 can have transmitters, such as energizers 112, placed at the boundaries of the monitoring area. The energizers 112 can transmit short-range LF signals or transmission reliability signals. The energizers 112 can repeatedly, such as continuously or near continuously, transmit the transmission reliability signals. The tags 102a-e and / or sensors can include short-range LF receivers for setting the tag blink rate. The energizers 112 can be a series of ground-mounted energizers, which the tags or sensors can receive the transmission reliability signals when the participants pass by the energizers. In example embodiments, the energizers 112 can be mounted in a loop that the participants must pass through to enter or exit the monitoring area.

[0254] The transmission reliability signals from the energizers 112 can be received by the tag 103 receivers and change the state of the blink data transmission. Additionally or alternatively, the transmission reliability signals can be received by the sensors 203, which in turn can transmit signals configured to cause the tags 102 to change the blink data transmission state. The transmission reliability signals can be used to make the transition of the tag blink data transmission based on being inside or outside the monitoring area. For example, the tags 102a-e can transmit blink data when they are inside the monitoring area or stop transmitting blink data when they exit the monitoring area, as indicated by the transmission reliability signals passing by the energizers 112. Additionally, the energizers 112 can be used to signal the sensors 203 to transmit proximity data or position data when inside the monitoring area or stop transmitting proximity or position data in a similar manner to the tags when not inside the monitoring area, as described.

[0255] In example embodiments, the tags change their blink rate based on the receipt of the transmission reliability signals. For example, the tags can blink at 56 Hz when inside the monitoring area and 1 Hz when outside the monitoring area. In other embodiments, the tags 102 and associated sensors 203 can transmit by one or more location methods when inside the monitoring area and a different or single location method when outside the monitoring area. For example, the blink data from the tags 102 and proximity data from the sensors 203 are transmitted inside the monitoring area and only position data is transmitted outside the monitoring area. The tags 102 terminating transmission or high blink rate transmission when outside the monitoring area can increase the battery life of the tags 102 and reduce the processor load on the receiver hub 108.

[0256] In example embodiments, the transmitter 107 can transmit a transmission reliability signal to the monitored area. The transmission reliability signal can be received by the sensor 203a. In the event that the transmission reliability signal is received at 203a, it can transmit proximity data and bearing data, or if configured to only transmit when the tag 102 position cannot be calculated, it can not transmit proximity data and position data. If the sensor 203a fails to receive the transmission reliability signal, the sensor can assume that the tag blink data is blocked, for example, due to a pile-up of players in a football game. Figure 6 A diagram showing an example obstruction is shown in FIG. 6, where due to the participant 402b blocking the tag signal or any other physical obstruction to the tag signal, the tag 102a and associated sensor 203 (not shown) do not have a direct line of sight tag signal to the receiver 106. In the event that the sensor 203a does not receive the transmission reliability signal, the sensor can transmit proximity data and / or bearing data to the mesh node 203b. The mesh node 203b can transmit its own blink data, proximity data, and / or bearing data, and the original node 203a can transmit bearing data and / or proximity data. Additionally, the sensor 203 can transmit a signal to the tag 102 that is configured to cause termination of blink data transmission or to decrease the blink rate. When the transmission reliability signal is received at the sensor 203a, the sensor can transmit a signal configured to cause the tag 102a to resume blink data transmission or to increase the blink rate.

[0257] In example embodiments, if the sensor 203a fails to receive the transmission reliability signal, it can also transmit a distress signal. The distress signal can indicate tag or sensor signal obstruction. The distress signal can be received by the mesh node sensor 203b. In the event that the mesh node 203b receives the distress signal and proximity or bearing data, the mesh node can transmit its own proximity data and / or bearing data as well as the original node 203a bearing data and / or proximity data. In the event that the mesh node 203b does not receive the distress signal, it can only transmit its own proximity data and / or bearing data and not transmit the original node 203a bearing data or proximity data if it determines that the original node is not blocked.

[0258] The receiver hub 108 can generate a position hierarchy by assigning a priority value to each of the position and bearing methods equipped by the position system. For example, a UWB position can be assigned a priority value of 1; a proximity position calculation based on UWB position can have a priority value of 2; a GPS bearing calculation over a Wi-Fi or ISO-2 backhaul can have a priority value of 3; an ISO-2, Wi-Fi RSSI, and proximity bearing calculation based on GPS bearing can have a priority value of 4; where 1 represents the highest priority value and 4 represents the lowest priority value.

[0259] Flashing data, proximity data, and position data can be received from the receivers 106 and / or transceivers 107 at the receiver hub 108 or receiver processing and distribution system 110. The receiver hub 108 or receiver processing and distribution system 110 can calculate tag positions based on the flashing data, as discussed. Figure 1 The receiver hub can determine sensor proximity data and / or sensor position data. The receiver hub 108 or receiver processing and distribution system 110 can determine raw node position calculations based on available locations from the grid nodes and sensor position calculation data using the position data, proximity data, and / or position data.

[0260] In embodiments, the receiver hub 108 or receiver processing and distribution system 110 can receive proximity data for a sensor 203a. The proximity data can include data identifying one or more grid nodes 203b that are in proximity to a particular raw node 203a, such as a tag or sensor UID. The raw node 203a can have a predetermined range for transmitting proximity data to limit receipt of the proximity data to a particular radius. For example, the range can be 10 feet, 4 feet, 2 feet, or any other radial distance value. The receiver hub 108 or receiver processing and distribution system 110 can calculate locations for the grid nodes 102b based on the flashing data and proximity radius for each grid node to determine a position calculation for the raw node 102a, as shown in Figure 5a

[0261] In example embodiments, the receiver hub 108 or receiver processing and distribution system 110 can receive position data for a raw node 203a. The position data can include telemetry data, such as Wi-Fi, or triangulated position data, such as GPS. The receiver hub 108 or receiver processing and distribution system 110 can determine a position calculation based on the available telemetry data or triangulated position data, as discussed in Figure 3E / F.

[0262] ​The receiver hub 108 or receiver processing and distribution system 110 can use the determined such as Wi-Fi data and / or previous location / such as Wi-Fi data to validate the calculated tag location. Validation can reduce the occurrence of bounce back flickering data that results in inaccurate position in the tag location determination or other anomalies. The receiver hub 108 or receiver processing and distribution system 110 can compare the current location data with previous location data. The previous location data can include the last 2, 5, 10, 20, or another number of location data calculations before the location data being validated. Where the change in location data satisfies a predetermined threshold such as 2 feet, 5 feet, 20 feet, 30 feet, 100 feet, or any other distance value, the receiver hub 108 or receiver processing and distribution system 110 can determine that the tag 102 was unable to move the determined distance between flickers and disregard the location data. For example, where the location data changed 35 feet and the predetermined threshold is 20 feet, the receiver hub 108 or receiver processing and distribution system 110 can disregard the location data.

[0263] In an example embodiment, the receiver hub 108 can compare the location data of the participant 402a with the location data of the participant 402b that has received the proximity data of the original node 203a. The receiver hub 108 or receiver processing and distribution system 110 can determine that the tag 102a location data is within the grid node 203b proximity radius and therefore valid, as shown in Figure 5a The receiver hub 108 or receiver processing and distribution system can determine that the tag 102a location data is outside the grid node 102b proximity radius, therefore the location data is invalid, and consider the location data unusable.

[0264] In an example embodiment, the receiver hub 108 or receiver processing and distribution system 110 can compare the tag 102 location data with the determined bearing based on the bearing data received from the sensor 203a. The receiver hub 108 or receiver processing and distribution system 110 can determine that the location data is within the location calculation accuracy radius or radius, as shown in Figure 5b The receiver hub 108 or receiver processing and distribution system 110 can determine that the location data is outside the determined sensor location calculation accuracy, and consider the location data unusable.

[0265] The receiver hub 108 or receiver processing and distribution system 110 can determine a message route based on the last position data of the participant 402 and the position data and position calculations of other participants. The receiver hub 108 or receiver processing and distribution system 110 can determine the shortest route, e.g., the minimum number of transmissions through the mesh network to the transceiver 107, and designate the mesh nodes 203b-e. The receiver hub 108 or receiver processing and distribution system 110 can cause the transceiver 107 to transmit the message route to the monitoring area for receipt by the sensors 203a-e.

[0266] The receiver hub 108 or processing and distribution system 110 can determine the highest priority position or bearing data available, or an overdetermined position. The receiver hub 108 or receiver processing and distribution system 110 can determine which position methods are available (e.g., provide accurate or valid position or bearing). The receiver hub 108 or receiver processing and distribution system 110 can select the available position or sensor bearing calculation data with the highest assigned priority value in the position hierarchy. For example, if UWB position priority 1 and GPS bearing calculation priority 2 are available, the receiver hub 108 or receiver processing and distribution system 110 can select the UWB position. In the case where the receiver hub 108 or receiver processing and distribution system 110 determines that UWB proximity bearing calculation priority 2 and Wi-Fi priority 3 are available, the UWB proximity bearing calculation can be selected. In the case where two or more position methods are available and have the same priority value, the determined position can be an average of the selected positions or bearings.

[0267] The receiver hub 108 or receiver processing and distribution system can cause the selected position or sensor bearing calculation data to be displayed on a graphical user interface (GUI). In example embodiments, the selected position or sensor bearing calculation data is displayed on the GUI overlaid with other available position or bearing data. Additionally, the receiver hub 108 or receiver processing and distribution system can cause all or at least selected position and sensor bearing calculation data to be stored in memory for later analysis or display.

[0268] Example overdetermined positioning system with different monitoring areas

[0269] Figure 7A diagram illustrating an over-determined location system utilizing multiple location technologies. The location system includes tagged participants 402 / 402a, receivers 106, transceivers 107, receiver hubs 108, receiver processing and distribution system 110, exciters 112, Wi-Fi receivers 113, and cellular (3G) receivers 114. At a race course location, such as a track, a cross county filed, or a bicycle course, a single location technology can not be suitable to deliver accurate locations over the range of the race course terrain or area. The location system can utilize multiple location technologies to deliver the type of information needed at different areas of the race course. For example, on a track, locations can be desirable, but sub-foot locations can not be necessary. However, within the same race course in a pit area, high precision locations of tools, personnel, cars, etc. can be needed for safety and analysis. In another example, at the finish line of a race course, UWB locations can be highly desirable as a method of determining the winner of the race, but sub-foot precision can not be necessary for the remainder of the race course.

[0270] The receiver hub 108 or receiver processing and distribution system 110 can generate a location hierarchy for each monitored area of the race course. For example, in a first monitored area, such as a pit area, transition point, or pit area, the receiver hub 108 or receiver processing and distribution system 110 can establish a location hierarchy by assigning priority 1 to UWB locations and priority 2 to bearing calculations, such as GPS. In a second monitored area, such as a racetrack, the receiver hub 108 or receiver processing and distribution system can establish a location hierarchy by assigning priority 1 to bearing calculations, such as GPS, and priority 2 to UWB location data, which can or can not be available. The receiver hub 108 or receiver processing and distribution system 110 can determine an over-determined location based on the location data, sensor bearing calculation data, and the location hierarchy of the first or second monitored area.

[0271] Continuing the example, the participant 402 / 402a can carry a tag 102, sensor 203, or monitoring unit 510 as discussed in FIGS. 2 and Figure 4 In the event that the participant 402 is outside of the UWB monitored area of the race course, here the pit area, the tag can utilize DGPS or other triangulation positioning and transmit location data to the receiver hub via Wi-Fi 113 or 3G receiver 114. When the participant 402a enters the monitored area, for example the pit area of a racetrack, UWB blip data can be received by the receivers 106, and as discussed above in Figure 1The location data calculated as discussed above. Maintenance zone workers can use the high precision location data in the maintenance zone to perform analysis such as determining optimal pit crew deployment to reduce maintenance zone stop time and determining worker locations to prevent injury.

[0272] Tag 102a can receive a transmission reliability signal from exciter 112. Tag 102a can begin transmission upon receiving the transmission reliability signal and can cease transmission when leaving the transmission reliability signal area, as discussed above in Figure 4 In an example embodiment, sensor 203a can receive a transmission reliability signal from transmitter 107 or exciter 112. Sensor 203a can transmit proximity data or location data based on receiving or not receiving the transmission reliability signal as discussed above in Figure 4 In addition, the sensor can transmit a signal configured to cause the tag 102a to transition the tag blink rate based on receipt of the transmission reliability signal as discussed above in Figure 4 In some example embodiments, the maintenance zone can be a first zone of a monitoring area, the race event area being outside the first zone of the monitoring area, for example, the race track can be a second zone of the monitoring area.

[0273] Example processing module

[0274] Figure 8a A block diagram showing components that can be included in processing module 800 is shown. Processing module 800 can include one or more processors, such as processor 802, one or more memories, such as memory 804, and communication circuitry 806. Processor 802 can be, for example, a microprocessor configured to execute software instructions and / or other types of code portions for performing defined steps, some of which are discussed herein. Processor 802 can communicate internally using, for example, a data bus, which can be used to transfer data including program instructions between processor 802 and memory 804.

[0275] The memory 804 can include one or more non-transitory storage media, such as, for example, volatile and / or non-volatile memory that can be either fixed or removable. The memory 804 can be configured to store information, data, applications, instructions, etc. for enabling the processing module 800 to carry out various functions in accordance with example embodiments of the application. For example, the memory 804 can be configured to buffer input data for processing by the processor 802. Additionally or alternatively, the memory 804 can be configured to store instructions for execution by the processor 802. The memory 804 can be considered a main memory and can be included in, for example, a RAM or other form of volatile storage that retains its content only for as long as the processing module 800 is operational and / or a non-volatile storage such as a ROM, EPROM, EEPROM, FLASH or other type of storage that retains stored content despite the power state of the processing module 800. The memory 804 can also be included in an auxiliary storage device, such as an external disk storage, that stores large amounts of data for the processing module 800. In some embodiments, the disk storage can communicate with the processor 802 via a data bus or other routing means using input / output components. The auxiliary storage can include a hard disk, compact disk, DVD, memory card, or any other type of mass storage type known to those skilled in the art.

[0276] In some embodiments, the processor 802 can be configured to communicate with external communication networks and devices using the communication circuitry 806, and can use various interfaces, such as data communication-oriented protocols, including X.25, ISDN, DSL, and the like. The communication circuitry 806 can also include a modem for interfacing with and communicating over standard telephone lines, Ethernet interfaces, cable systems, and / or any other type of communication system. Additionally, the processor 802 can communicate via a wireless interface operably connected to the communication circuitry 806 to wirelessly communicate with other devices using, for example, one of the IEEE 802.11 protocols, 802.15 protocols (including Bluetooth, Zigbee, etc.), cellular protocols (Advanced Mobile Phone Service or "AMPS"), Personal Communications Service (PCS), or standard 3G wireless telecommunication protocols such as CDMA2000 lx EV-DO, GPRS, W-CDMA, LTE, and / or any other protocol.

[0277] Example sensors

[0278] Figure 8bA block diagram showing components that can be included in the sensor 820 is shown. The sensor 820 can include the processing module 800 and a transmission module 822. The sensor 820 can include the transmission module 822, which in turn can be in communication with the processor 802 or the processing module 800. The transmission module 822 can be configured to cause the processor 802 to determine receipt of a transmission reliability signal; and cause transmission of sensor proximity data or position data based on the determination of the transmission reliability signal. In embodiments, the transmission module 822 can be configured to cause the processor 802 to cause transmission of a distress signal or blinking data based on the determination of receipt of the transmission reliability signal. In example embodiments, the transmission module 822 can be configured to cause the processor 802 to cause receipt of proximity data and / or position data from an original node, and the transmission configured to cause transmission of the signal, blinking data, sensor proximity data or sensor position data, and original node position and / or proximity data. The transmission module 822 can also be configured to cause the processor 802 to receive a distress signal from an original node, and based on receipt of the distress signal, cause transmission of original node proximity and / or position data. The transmission module 822 can also be configured to cause the processor 802 to determine whether a message count satisfies a predetermined threshold, and transmission of original node proximity and / or position data is based on the message count determination.

[0279] Example apparatus

[0280] Figure 8c A block diagram showing components that can be included in an apparatus 830, such as the receiver hub 108 or receiver processing and distribution system 110, is shown. The apparatus 830 can include the processing module 800, a location module 832, or the user interface 808. Figure 1

[0281] The user interface 808 can be in communication with the processor 802 of the processing module 800 to provide output to the user and to receive input. For example, the user interface can include a display, and in some embodiments, can also include a keyboard, a mouse, a joystick, a touch screen, a touch area, soft keys, a microphone, a speaker, or other input / output mechanisms. The processor can include user interface circuitry configured to control at least some functions of one or more user interface elements, such as a display, and in some embodiments, a speaker, ringer, microphone, and / or the like. The processor and / or user interface circuitry comprising the processor can be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and / or firmware) stored on a memory accessible to the processor (e.g., the memory 204, or the like).

[0282] ​The apparatus 830 can include a location module 832, which in turn can be in communication with the processor 802 of the processing module 800 and configured to cause the processor to receive blinking data from a location tag associated with a first sensor, receive proximity and / or bearing data generated based on communication between the first sensor and a second sensor, the proximity data including a second sensor identifier, calculate location tag location data based on the blinking data, and determine a first sensor bearing calculation based on the proximity and / or bearing data. The location module 832 can also be configured to cause the processor 802 to assign a priority value to the location data and the sensor bearing calculation data, and determine the highest priority location data or sensor bearing calculation data available. In an example embodiment, the location module 832 can cause the highest priority location data or sensor bearing calculation data to be displayed on the graphical user interface 808 or stored in the memory 804. In an example embodiment, the location module 832 can be configured to cause the processor 802 to determine sensor bearing calculation data associated with a location tag based on prior location data associated with the location tag. In an example embodiment, the location module 832 can be configured to cause the processor 802 to validate location data based on the calculated location data and the determined sensor bearing calculation data. In an example embodiment, the location module 832 can be configured to determine a message route based on calculated location data of a plurality of location tags or determined location calculation of a plurality of sensors, and transmit the message route in a monitored area.

[0283] Figure 9 、 Figure 10 and Figure 11 FIG. illustrates an apparatus 830 and Figure 8c Figure 8b ​example flowchart of the operations performed by the apparatus of the sensor 820. It will be understood that each block of the flowchart, and combinations of blocks in the flowchart, can be implemented by various means, such as hardware, firmware, one or more processors, circuitry, and / or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above can be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above can be stored by a memory 804 of the processing module 800 employing an embodiment of the present application, and executed by a processor 802 in the processing module. As will be appreciated, any such computer program instructions can be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart block or blocks. These computer program instructions can also be stored in a non-transitory computer-readable storage memory that can direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage memory produce an article of manufacture Figure 9 、 10 and 11 transform a computer or processing circuitry to create a special- purpose machine configured to perform operations in support of example embodiments of the present application. As such, Figure 9 、 10 and 11 define an algorithm for configuration of a computer or processor to perform example embodiments. In some cases, a general purpose computer can be provided with an instance of a processor that executes the algorithm of Figure 9 、 10 and 11 to transform the general purpose computer into a particular machine configured to execute example embodiments.

[0284] Accordingly, the 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 some or all of the operations described in

[0285] In some example embodiments, certain ones of the operations herein can be modified or otherwise supplemented as appropriate, as described below. Additionally, in some embodiments, additional optional operations (some examples of which are described in Figure 9 、 10and 11 are shown with dashed lines). It should be appreciated that each modification, optional addition, or elaboration described herein can be used operatively, either alone or in combination with any of the features described herein.

[0286] Example sensor transmission process

[0287] Figure 9 A flowchart illustrating an example process for determining transmission from a sensor is shown. At 902, a sensor 820 can be provided, the sensor 820 including a transmission module 822 and a processing module 820. The transmission module 822 can be configured to cause the processor 802 to determine receipt of a transmission reliability signal. The communication circuit 806 can receive the transmission reliability signal from an energizer (e.g., energizer 112 as discussed in Figure 4 FIG. 1). Additionally or alternatively, the communication circuit 806 can receive the transmission reliability signal from a transceiver (e.g., transceiver 107 as discussed in Figure 4 FIG. 1) indicating that the associated tag 102 signal to the receiver 106 is not blocked. In the event that the processor 802 receives the transmission reliability, the processor 802 can cause the communication circuit 806 to transmit a signal configured to cause the tag to transmit blinking data at 904 or to cause the tag to transmit blinking data 906 and to transmit proximity or position data at 908. In the event that the processor 802 determines that the transmission reliability signal has not been received, the processor can cause the communication circuit to transmit a signal configured to terminate blinking data transmission 909 and to transmit proximity or position data 910, or to terminate blinking data transmission 911, to transmit a distress signal 912, and to transmit proximity or position data 914.

[0288] At 904 and 906, the transmission module can be configured to cause the processor 802 to cause transmission of blinking data. The processor 802 can cause the communication circuit 806 to transmit a signal to the associated tag 102 configured to cause the tag to commence transmission of tag blinking data based on the determination of receipt of the transmission reliability signal at 902. The commence transmission signal can be a short range low frequency signal, as discussed in Figure 4 FIG. 1, or through wired communication in the event that the sensor and tag are housed in a monitoring unit, such as monitoring unit 510. The transmission of blinking data is discussed in Figure 1 FIG. 1.

[0289] At 909 and 911, the transmission module can be configured to cause processor 802 to terminate the flashing data transmission. Processor 802 can cause communication circuitry 806 to transmit a signal to the associated tag 102, configured to cause the tag to begin terminating the transmission of tag flashing data based on a determination of a failure in the received transmission reliability signal at 902. The termination transmission signal can be as follows: Figure 4 The short-range, low-frequency signals discussed herein, or wired communication when sensors and tags are housed in a monitoring unit such as monitoring unit 510.

[0290] In an example embodiment, processor 802 may cause communication circuitry 806 to transmit a signal to tag 102, the signal being configured to change the tag's flashing rate based on the reception of a transmission reliability signal. For example, sensor 820 may cause tag 102 to flash at 56 Hz when within the monitoring area or unobstructed, and at 1 Hz when outside the monitoring area or obstructed.

[0291] In 908, 910, and 914, the transmission module 822 can be configured to cause the processor 802 to trigger the communication circuit 806 in 908 to transmit proximity data or location data. The communication circuit 806 can transmit proximity data or location data via NFC, Wi-Fi, BLE, etc. The proximity data or location data can be transmitted by means of, etc. Figure 4 Grid nodes 203b-e or such Figure 4 The transceiver 107 receives the data. Sensor proximity data may include an associated tag or sensor UID, proximity transmission radius, or other data indicating the proximity location of the sensor. Sensor orientation data may include triangulation orientation, such as GPS or ISO-2, or telemetry data. In an example embodiment, the sensor UID or associated tag UID is attached to the proximity data or orientation data for later use in determining the number of transmissions or for system diagnostics.

[0292] In an example embodiment, the transmission module 822 can be configured such that the processor 802 causes the communication circuit 806 to transmit via one or more location methods when within the monitoring area, and to transmit via different or a single location method based on a transmission reliability signal when outside the monitoring area. For example, the communication circuit 806 can transmit proximity and orientation data within the monitoring area at 908. Outside the monitoring area, the processor 802 can cause the communication circuit 806 to transmit only proximity or orientation data at 910 or 914.

[0293] If the processor 802 fails to receive a transmission reliability signal, the transmission module 822 can assume that the tag flashing data transmission will be obstructed, for example, due to a pile-up of players on a football, rugby field, or a player holding another player. The transmission module 822 can be configured to trigger the processor 802 to transmit a distress signal in the communication circuit 806 at 912. This distress signal can be received by the mesh nodes 203b-e.

[0294] In an example embodiment, the transmission module 822 is configured to cause the processor 802 to initiate the communication circuit 806, thereby initiating the transmission of flashing data and the transmission of proximity and / or orientation data without regard to the reliability of the transmission signal. For example, a positioning system using a redundant positioning method may have a transmission module 822 configured to cause the processor 802 to initiate the communication circuit 806 to transmit proximity and orientation data for verification of position and orientation calculations and / or as auxiliary position / or orientation determination.

[0295] Example of mesh node transmission process

[0296] Figure 10 A flowchart illustrating an exemplary process for determining transmissions from a mesh node is shown. The mesh node may be a sensor 820 including a transmission module 822 and a processing module 800. The transmission module may communicate with a processor 802 of the processor module 800. At 1002, the transmission module 822 may be configured such that the processor 802 receives data from the original node, such as... Figure 4 The processor 802 can be configured to receive the first proximity or orientation data of the original node 203a via a mesh network protocol such as NFC, Wi-Fi, or BLE. The mesh node 820 can continue this process at data paths A, B, C, D, E, or F, depending on the sensor configuration. At 1004, in data path A, the transmission module 822 can be configured to cause the processor 802 to trigger the communication circuit 806 to transmit a signal configured to cause tag flashing data transmitted from the associated tag 102, such as... Figure 9 As described at 904, the received proximity or azimuth data of the original node 203a is ignored. The grid node 820 can be configured not to transmit data from the original node 203a, or it can be determined that the transmission of original node data should not be performed in data paths D, E, or F.

[0297] In data path B, transmission module 822 can be configured such that processor 802 causes communication circuit 806 to transmit a signal configured to cause the tag associated with grid node 820 to transmit flashing data at 1006, such as... Figure 9discussed at 904 and the mesh node proximity or position data is transmitted at 1008. The communication circuitry can transmit the mesh node proximity of the position data over the mesh network protocol by NFC, Wi-Fi, BLE, etc. for reception by the sensor transceiver 107 using the mesh nodes 203c-e. In example embodiments, the mesh node 820 proximity and / or position data can be transmitted for reception by a directional long range transceiver antenna such as 107a.

[0298] The original node proximity data can include the original node UID, proximity transmission radius, or other data indicating the proximity position of the original node. The original node position data can include triangulated position, such as GPS or ISO-2, or telemetry data. In example embodiments, the mesh node UID is appended to the proximity data or position data for later use in determining the number of transmissions or system diagnostics. In example embodiments, the mesh node proximity data or position data is generated using the original node proximity data by appending the relevant tag or sensor UID of all tags / sensors, including the original node from which the proximity data was received, to the mesh node proximity data. The mesh node 102b can be configured not to transmit the original node 203a data or can determine that transmission of the original node data should not be performed in the data path D, E, or F. The original node position data can include triangulated position, such as GPS or ISO-2, or telemetry data.

[0299] In the data path C, the transmission module 822 can be configured to cause the processor 802 to cause the communication circuitry 806 to cause the associated tag to transmit the blink data at 1010, as discussed at 904, the mesh node proximity data or position data at 1012, as discussed at 1008, and the original node proximity or position tag data at 1014. The process can repeat at 1002 until the node and / or original node data reaches the transceiver 107. Figure 9

[0300] At 1014, the transmission module 822 can be configured to cause the processor 802 to append the mesh node 820 associated tag or sensor UID to the proximity data or position data in addition to the original node associated tag or sensor UID for later use in determining the number of transmissions or system diagnostics. Additionally, the mesh node tag / sensor UID can be used for system analysis and diagnostics to determine the route of the message through the mesh network. The processor 802 can then cause the communication circuitry 806 to transmit the original node 203a proximity or position data in substantially similar manner to the transmission of the mesh node data at 1008.

[0301] ​Data path D can be applied in the case of raw node proximity data or bearing data being transmitted through the mesh network, the transmission module 822 can cause the processor 802 to limit the transmission to prevent the message from being transmitted permanently throughout the monitored area. At 1016, the transmission module 822 can cause the processor 802 to determine whether a message count satisfies a predetermined threshold. The message count can include a transmission count, such as 3, 4, or 5 transmissions; or a time count, such as 3 seconds, 2 seconds, or 1 second. The number of transmissions can be determined by an incremental count in the message data or the number of tag UIDs that have been appended to the message data. If the processor 802 determines that the message count satisfies the predetermined threshold, the transmission module 822 can cause the processor 802 to transmit the data as discussed in data path A or B. In the case where the processor 802 determines that the message count does not satisfy the threshold, the processor can cause the communication circuit 806 to transmit the data as discussed in data path C, sending the proximity and bearing data to the next mesh node 203b in the mesh network or to the transceiver 107.

[0302] For example, if the message count is 4 transmissions and the mesh node 820 receives raw node 203a proximity data or bearing data with 3 incremental counts or 3 tag / sensor UIDs, the mesh node can determine that the message count is not satisfied and continue processing in data path C. In data path C, the processor 802 of the mesh node 820 can cause the communication circuit 806 to transmit a signal configured to cause the flashing data to be transmitted by the associated tag 102, transmit the mesh node 820 proximity data or bearing data, and transmit the raw node 203a proximity data or bearing data. In the case where the incremental count is 4 or there are 4 tag / sensor UIDs, the processor 802 can determine that the message count has been satisfied and ignore the raw node data in data path A or B. The processor 802 can cause the communication circuit to transmit a signal configured to cause the flashing data of the associated tag 102 to be transmitted in data path A, or transmit a signal configured to cause the flashing data to be transmitted from the associated tag 102 and the mesh tag 820 proximity data or bearing data to be transmitted in data path B.

[0303] Data path E can be applied in cases where sensor proximity data or bearing data is transmitted through the mesh network, the receiver hub 108 or receiver processing and distribution system 110 can determine an optimal route for the message (e.g., the minimum number of transmissions to reach the transceiver 107) and transmit the route to the sensors in the monitored area. In data path E, the transmission module 822 can cause the processor 802 to receive a message route from the communication circuit 806 at 1018. The communication circuit 806 can receive the message route from the transceiver 107. At 1020, the transmission module 822 can cause the processor 802 to determine whether the mesh node 820 is designated in the received message route. If the processor 802 determines that the mesh node 102b is not designated in the message route, the processor 802 can cause the communication circuit 806 to cause transmission of the blink data from the associated tag 102, or to cause transmission of the blink data from the associated tag 102 and transmission of the mesh node proximity data or bearing data, as discussed in data paths A or B. If the processor 802 determines that the mesh node 820 is designated in the message route, the processor 802 can cause the communication circuit 806 to cause transmission of the blink data from the associated tag 102 and transmission of the mesh node 820 and the original node 203a bearing or proximity data, as discussed in data path C.

[0304] Data path F can be applied in cases where the original node is configured to transmit a distress signal in response to a failure to receive a transmission reliability signal, as discussed in Figure 9 Data path F can be applied in cases where the original node is configured to transmit a distress signal in response to a failure to receive a transmission reliability signal, as discussed in

[0305] Example hyperdetermined position determination process

[0306] Figure 11An example process for determining an overdetermined participant location is illustrated. The apparatus 830, such as the receiver hub 108 or receiver processing and distribution system 110, can include a location module 832, processing module 800, and user interface 808. The location module 832 can be configured to cause the processor 802 to generate a location hierarchy by assigning a priority value to each location and position method that the location system can use. For example, UWB location data can be assigned a priority value of 1; proximity position calculations based on UWB locations can have a priority value of 2; triangulation position calculations of GPS, for example, through Wi-Fi or ISO-2 backhaul, can have a priority value of 3; ISO-2, Wi-Fi RSSI, and proximity position based on triangulation position calculations can have a priority value of 4; where 1 represents the highest priority value and 4 represents the lowest priority value.

[0307] In example embodiments, the processor can generate a location hierarchy for two or more monitoring areas. For example, a first monitoring area can be a race track or course where the location hierarchy includes Wi-Fi or ISO-2 backhaul GPS with a priority value of 1, UWB location data priority value of 2, Wi-Fi RSSI, and proximity location based on triangulation position calculations can have a priority value of 3. A second monitoring area can be a pit or transfer point of a race with a location hierarchy including: UWB location data with a priority value of 1; triangulation position calculations, such as GPS through Wi-Fi or ISO-2 backhaul, with a priority value of 3; ISO-2, Wi-Fi RSSI, and proximity position based on triangulation position calculations can have a priority value of 3.

[0308] At 1102, the location module 832 can be configured to cause the processor 802 to receive flash data from the communication circuit 806. The communication circuit 806 can receive the flash data from the receiver 106. At 1108, the location module 832 can be configured to cause the processor 802 to calculate location data based on the received flash data, as discussed in Figure 1

[0309] At 1104, the location module 832 can be configured to cause the processor 802 to receive grid node 203b proximity data or position data from the communication circuit 806.

[0310] ​The communication circuit 806 can receive sensor 820 or mesh node 203b proximity or position data from the transceiver 107. The proximity data can include data identifying one or more mesh nodes 203b proximate to a specified original node 203a, such as the original node and mesh node UIDs or their associated tag UIDs. Additionally, the proximity data can include data indicative of a proximity radius, such as a Wi-Fi RSSI. The position data can include telemetry data or triangulated position data, such as DGPS or ISO-2.

[0311] The transceiver 107 can receive sensor 820 or mesh node 203b proximity data or position data through the mesh network protocol by mesh nodes 203b-e transmitting in NFC, BLE, or Wi-Fi. Alternatively, the transceiver 107a can use a directional long-range transceiver antenna 107a to indicate backhaul proximity data or position data from the sensor 820 or mesh node 203b. The original node 203a proximity data or position data can be received at 1106 in a substantially similar manner.

[0312] At 1110, the location module 832 can be configured to cause the processor 802 to determine sensor 820 or mesh node 203b proximity position data. Each sensor can have a predetermined range for transmitting proximity data to limit receipt of proximity data to a specified radius. For example, the range can be 10 feet, 4 feet, 2 feet, or any other radial distance value. The processor 802 can calculate the position data and proximity radius for each tag from which proximity data is received from the associated sensor 203, as shown. Figure 5a

[0313] At 1120, the location module 832 can be configured to cause the processor 802 to determine a sensor 820 or participant 402 position calculation based on the sensor proximity data. The processor 802 can determine the sensor 820 position calculation as the location or area where the sensor proximity radii intersect, as shown. Figure 5a

[0314] In example embodiments, the processor can weight the located sensor position based on the Wi-Fi RSSI and / or determine the transmission range based on the Wi-Fi RSSI. The processor 802 can determine the proximity position based on the determined transmission range radii intersect and / or weight the area or position based on the RSSI of each proximity sensor 203.

[0315] At 1114, the location module 832 can be configured to cause the processor 802 to determine original node 203a proximity position data in a substantially similar manner to 1110. The processor 802 can determine an original node 203a position calculation based on the proximity position data in a substantially similar manner to 1120.​​

[0316] At 1112, the position module 832 can be configured to cause the processor 802 to determine sensor 820 or grid node 203b position data. The processor 802 can compile triangulation position data or telemetry data received from various sensors 203. The processor 802 can be configured to determine position data for the original node 203a at 1116 in a substantially similar manner.

[0317] The position module 832 can be configured to cause the processor 802 to determine original node 203a position calculations at 1120 based on the sensor position data, as discussed in Figure 3E / F. The processor 802 can determine sensor position calculations based on the position data determined at 1112 or 1116 by associating triangulation position with the sensors 203 or by using telemetry data to calculate sensor position as discussed in Figure 3E / F.

[0318] At 1118, the position module 832 can be configured to cause the processor 802 to validate position data. The processor 802 can validate position data by comparing the determined proximity sensor position calculation data with the position data, as shown in Figure 5b / F. If the calculated position data is within a predetermined threshold of the accuracy radius of the proximity sensor position calculation data, the processor 802 can determine that the position data is validated. In the event that the position data does not satisfy the predetermined accuracy threshold, falls outside the accuracy radius of the sensor proximity position, the processor 802 can determine that the position data is invalid and considered lost. Lost position data can be considered unusable for determining the highest priority position data or position calculations available, 1122, and not used for display or analysis, but can be stored for later system diagnostics.

[0319] In an example embodiment, the position module 832 can be configured to cause the processor 802 to validate position data by comparing the position data with the determined sensor position calculations, as shown in Figure 5b / F. In the event that the calculated position data is within a predetermined threshold of the accuracy radius of the sensor position calculation data, the processor 802 can determine that the position data is valid. In the event that the position data falls outside the predetermined sensor position calculation data radius, the processor 802 can determine that the position data is invalid and considered lost.

[0320] In example embodiments, the location module 832 can be configured to cause the processor 802 to verify the location data by comparing the current location data to previously calculated location data. The previously calculated location data can include the last 2, 5, 10, 20, or another number of location data calculations prior to the location data being verified. In the event that the change in location data satisfies a predetermined threshold, such as 2 feet, 5 feet, 20 feet, 30 feet, 100 feet, or any other distance value, the processor 802 can determine that the tag 102 could not have traveled the aforementioned distance between flashes and that the location data is invalid and considered lost. For example, if the difference in location data is 35 feet and the predetermined threshold is 25 feet, the processor can determine that the location data is invalid. The lost location data is considered unusable and can not be used for further determinations. In the event that the change in location data does not satisfy the predetermined threshold, the processor 802 can determine that the location data is valid and can be used for further determinations.

[0321] At 1122, the location module can be configured to cause the processor 802 to determine a message route. In the event that no proximity data or bearing data of the original node 203a or flash data of the tag 102 associated with the original node is received, the processor 802 can determine a message route for the original data through the mesh network. The processor 802 can use the last location data and bearing calculations of the participant 402a and mesh nodes 203b-e to determine the shortest route, such as the minimum number of transmissions, to the transceiver 107. The processor 802 can determine and designate the mesh nodes by sensor UID, associated tag UID, or other identification. The processor 802 can generate a message route including the designated mesh node identifiers.

[0322] At 1123, the location module can cause the processor 802 to cause the communication circuit 806 to transmit the message route. The communication circuit 806 can transmit the message route to the transceiver 107 for transmission to the sensors 820 within the monitored area.

[0323] At 1124, the location module 832 can be configured to cause the processor 802 to determine a highest priority location or sensor position calculation data or overdetermined position available for each participant 402. The processor 802 can determine available location data and sensor position calculation data for each participant 402. The processor 802 can select the location data or sensor position calculation data based on the location hierarchy assigned with the highest priority value from the available location and sensor position calculation data for the participant 402 at 1101. For example, if UWB location data priority 1 and GPS sensor position calculation data priority -2 are available, the processor 802 can select the UWB location data. In the case where the processor 802 determines that UWB proximity position calculation priority 2 and Wi-Fi position calculation priority 3 are available, the UWB proximity position calculation can be selected. In the case where two or more location / position methods are available and have the same priority value, the determined position calculation can be an average of the selected location or sensor position calculation data.

[0324] In example embodiments where the monitoring area includes two or more areas each having a location hierarchy, the processor 1202 can determine the monitoring area associated with the location data or sensor position calculation data. The processor 1202 can determine the highest priority location data or sensor position calculation data or overdetermined position based on the location hierarchy of the monitoring area associated with the location data and sensor position calculation data. For example, where the location data or sensor position calculation data is associated with a first monitoring area and location hierarchy, if GPS sensor position calculation data priority 1 and UWB location data priority 2 are available, the processor 802 can select the GPS sensor position calculation data as the overdetermined position. In the case where the location data or position calculation data is associated with a second monitoring area and location hierarchy, if UWB location data priority 1 and GPS sensor position calculation data priority 2 are available, the processor 802 can select the UWB location data as the overdetermined position.

[0325] At 1125, the location module 832 can be configured to cause the processor 802 to cause at least the highest priority location or sensor position calculation data or overdetermined position to be stored in the memory 804. The processor 802 can also store any other location data or sensor position calculation data, location data or proximity data in the memory 804 for later analysis or system diagnostics. For example, if UWB location data priority 1, UWB proximity position calculation priority 2 and GPS position calculation priority 3 are available; the processor can cause only the UWB location data to be stored, or the UWB location data and UWB proximity sensor position calculation data to be stored, or the UWB location, UWB proximity sensor position calculation data and GPS sensor position calculation data to be stored.

[0326] At 1126, the position module 832 can cause the processor 802 to cause the highest priority position or sensor position calculation data or overdetermined position to be displayed on the user interface 808. For example, where the UWB position data is the highest priority, the processor 802 can cause the UWB position data to be displayed. Where the UWB position data is not available but UWB proximity sensor position calculation data is available, the processor 802 can cause the user interface 808 to display the UWB proximity calculation data. In example embodiments, the highest priority position or position is displayed and can override lower priority positions or multiple positions, similar to the depiction of the radial accuracy threshold shown in FIG. 8B. Figure 5b

[0327] In some embodiments, certain ones of the operations above can be modified or further articulated, such as further described below. Additionally, in some embodiments, additional optional operations can also be included. It should be understood that each of the modifications, optional additions or further articulations below can be included individually or in any combination with any of the other features described herein in the operations above.

[0328] Many modifications and other embodiments of the applications set forth herein will come to mind to one skilled in the art to which the present applications pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the applications 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 and / or functions, one skilled in the art will appreciate that different combinations of elements and / or functions can be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, elements and / or functions from one example embodiment can be combined in a manner with elements and / or functions from another example embodiment. In this regard, for example, aspects described herein can be used in any combination with any other aspects described herein. In this regard, for example, aspects described herein can be used in any combination with any other aspects described herein. Although specific terms are employed above, they are used in a generic and descriptive sense only and not for purposes of limitation.​

Claims

1. A method for transmitting data, comprising: sensing, by a sensor of a mesh node, first sensor data; receiving, at the mesh node, second sensor data from an original node, wherein the mesh node and the original node are different nodes; receiving, by the mesh node from the original node, an indication from the original node that transmission is blocked; and in response to receiving the indication, obtaining a message route for the second sensor data from a hub, wherein the message route is generated by the hub without receiving the second sensor data by the hub; in response to the mesh node being designated in the message route, transmitting, by the mesh node, the second sensor data, the blockage being determined based on the original node not receiving a transmission reliability signal that can change a blink rate of a location tag in the original node; in response to not receiving the indication, transmitting only the first sensor data and blink data generated by a location tag associated with the sensor.

2. The method of claim 1, wherein the indication is a distress signal.

3. The method of claim 2, wherein the distress signal is received from the original node.

4. The method of claim 1, further comprising: in response to not receiving the indication, transmitting the first sensor data without transmitting the second sensor data.

5. An apparatus for transmitting data, comprising a sensor, at least one processor, and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to: sense first sensor data; receive second sensor data from an original node, wherein the apparatus and the original node are different nodes; receive, from the original node, an indication from the original node that transmission is blocked; and in response to receiving the indication, obtain a message route for the second sensor data from a hub, wherein the message route is generated by the hub without receiving the second sensor data by the hub; in response to the apparatus being designated in the message route, transmit the second sensor data, the blockage being determined based on the original node not receiving a transmission reliability signal that can change a blink rate of a location tag in the original node; in response to not receiving the indication, transmit only the first sensor data and blink data generated by a location tag associated with the sensor.

6. The apparatus of claim 5, wherein the indication is a distress signal.

7. The apparatus of claim 6, wherein the distress signal is received from the original node.

8. The apparatus of claim 5, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to, in response to not receiving the indication, transmit the first sensor data without transmitting the second sensor data.

9. A location system for transmitting data, comprising: a first node comprising a first sensor configured to sense first data; a second node comprising a second sensor configured to sense second data, wherein the first node is configured to transmit the first data to the second node; location tags configured to generate blinking data, a first of the location tags being associated with the first node; and a hub configured to: receive the blinking data and determine a location of the location tags based on the blinking data; and in response to determining that the blinking data of the first of the location tags has not been received, transmit a message route for transmitting the first data to the second node, wherein the second node is configured to transmit the first data in response to the second node being in the message route; wherein the second node is configured to transmit the second data in response to the second node not being in the message route and a second of the location tags associated with the second sensor is configured to generate the blinking data.

10. The location system of claim 9, wherein the hub is configured to determine the message route using a last known location of the first of the location tags.

11. The location system of claim 10, wherein the second node is configured to determine that the second node is designated in the message route prior to transmitting the first data.

12. The location system of claim 9, wherein the second node is configured to transmit the second data without transmitting the first data in response to not receiving the message route.

13. The location system of claim 9, wherein the first node is configured to transmit a distress signal in response to determining that the first of the location tags is blocked. ​ ​

Citation Information

Patent Citations

  • Sports telemetry system for collecting performance metrics and data

    US20100283630A1

  • Multi-path radio transmission input / output devices, network, systems and methods with link suitability determination

    US20130107909A1