Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MULTIPATH AUTOBOUNCE LOCATION DETERMINATION
Document Type and Number:
WIPO Patent Application WO/2023/107101
Kind Code:
A1
Abstract:
A computing device is described that includes one or more processors, a wireless transceiver that broadcasts a message over a wireless signal to locate a target tag, and a locator application. The locator application is operable by the one or more processors to receive, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags, determine a first-hop direction and a first-hop distance to at least one first-hop intermediate tag based on the plurality of intermediate responses, and determine a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the intermediate responses from each intermediate tag, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag.

Inventors:
SHIN DONGEEK (US)
Application Number:
PCT/US2021/062231
Publication Date:
June 15, 2023
Filing Date:
December 07, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GOOGLE LLC (US)
International Classes:
G01S5/02; H04W4/02; G01S13/76; G01S13/87; H04W4/029; H04L9/40; H04W84/18
Domestic Patent References:
WO2020098920A12020-05-22
Foreign References:
US20210055370A12021-02-25
US20210088616A12021-03-25
Attorney, Agent or Firm:
WUTT, Benjamin R. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method comprising: broadcasting, by a computing device, a message over a wireless signal to locate a target tag; receiving, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags; determining, by the computing device, a first-hop direction and a first-hop distance to at least one first-hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determining, by the computing device, a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag.

2. The method of claim 1, further comprising: receiving, in response to the message, a target response including range data from the target tag; and determining, by the computing device, the target tag distance and the target tag direction from the computing device to the target tag based on the target response and the plurality of intermediate response from each of the one or more intermediate tags.

3. The method of any one of claims 1-2, further comprising: determining, by the computing device, the target tag distance and each first-hop distance from the computing device based on corresponding round-trip-times of the wireless signal to and from the computing device to the target tag and each first-hop intermediate tag.

24

4. The method of any one of claims 1-3, further comprising: determining, by the computing device with the range data, the target-hop distance from each intermediate tag to the target tag based on a round-trip-time of a second wireless signal from each intermediate tag to the target tag.

5. The method of any one of claims 1-4, wherein the wireless signal is a first wireless signal, the method further comprising: encrypting the message, the encrypted message including a target tag identifier used by each intermediate tag to transmit a second message over a second wireless signal and configured to communicate with only the target tag.

6. The method of any one of claims 1-5, further comprising: selecting two or more intermediate tags from the plurality of intermediate tags for determining the target tag distance based on at least on one of a threshold distance from the target tag to each of the plurality of intermediate tags, or a direction from the computing device to each of the plurality of intermediate tags.

7. The method of any one of claims 1-6, wherein the intermediate response for one or more of the intermediate tags further includes range data associated with a third-hop distance from each first-hop intermediate tag to a second-hop intermediate tag, and the target-hop distance from the second intermediate tag to the target tag.

8. The method of any one of claims 1-7, wherein determining the target tag distance and the target tag direction further includes: determining the target tag distance and the target tag direction from the computing device to the target tag based on the plurality of intermediate responses from each of the one or more intermediate tags, wherein the intermediate responses include a direction from one or more intermediate tags to another intermediate tag and the target tag.

9. The method of any one of claims 1-8, wherein the wireless signal and the second wireless signal are ultra-wideband signals.

10. The method of any one of claims 1-9, wherein one or more intermediate paths include one or more intermediate tags between the computing device and the target tag and a direct path from the computing device to the target tag, wherein determining the target tag distance and the target tag direction from the computing device to the target tag further comprises: applying, by the computing device, a loss-function algorithm that applies a weight to each term of an equation loss-function algorithm to determine the target tag distance and the target tag direction, wherein each term of the equation represents at least one of each intermediate path of the one or more intermediate paths to the target tag or the direct path to the target tag.

11. A computing device comprising: a wireless transceiver to broadcast a message over a wireless signal to locate a target tag; memory; and one or more processors operably coupled to the memory and configured to: receive, in response to broadcasting the message, a plurality of intermediate responses from one or more intermediate tags; determine a first-hop direction and a first-hop distance to at least one first-hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determine a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag.

12. The computing device of claim 11, wherein the one or more processors are further configured to: receive, in response to the message, a target response including range data from the target tag; and determine the target tag distance and the target tag direction from the computing device to the target tag based on the target response and the plurality of intermediate response from each of the one or more intermediate tags.

13. The computing device of any one of claims 11-12, wherein the one or more processors are further configured to: determine the target tag distance and each first-hop distance from the computing device based on corresponding round-trip-times (RTT) of the wireless signal to and from the computing device to the target tag and each first-hop intermediate tag; and determine with the range data, the target-hop distance from each intermediate tag to the target tag based on a round-trip-time RTT of a second wireless signal from each intermediate tag to the target tag.

14. The computing device of any one of claims 12-15, wherein the intermediate response for one or more of the intermediate tags further includes range data associated with a third- hop distance from each first-hop intermediate tag to a second-hop intermediate tag, and the target-hop distance from the second intermediate tag to the target tag.

15. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a computing device to performing any of the methods of claim 1-10.

27

Description:
MULTIPATH AUTOBOUNCE LOCATION DETERMINATION

BACKGROUND

[0001] Computing devices, especially portable or handheld devices, typically include a multitude of wireless transceivers, such as transceivers for GPS (global positioning system), Bluetooth® LE (low energy), Wi-Fi®, ZigBee®, and Ultra-Wideband®. As a result, tracking applications installed on these computing devices can utilize certain of these wireless technologies along with tracking tags or additional wireless nodes to provide a convenient way to track and locate tagged items. The tag may be active, semi active, or passive. A passive tag uses the incoming wireless signal from a reader to power the transmission of the tag’s response. A semi-active tag is a medium range tag that uses its own power source (e.g., battery) to transmit to the reader but remains dormant until the reader sends an energizing signal to turn on its circuitry. An active tag is a long-range tag that has a transmitter and its own power source to run the tag's circuitry and to broadcast a signal to the reader. The active tag can either transmit continuously as beacons or when activated by the reader’s signal.

SUMMARY

[0002] In general, techniques of this disclosure are directed to using wireless components of a computing device (e.g., smartphone) to broadcast encrypted data frames over a wireless signal (e.g., Ultra-Wideband® (UWB)) to locate a target tag using responses from neighboring intermediate tags over one or combination of direct and indirect paths to determine the target tag distance and direction. The combined total range information from each indirect path and their respective intermediate tag responses provides for an improved range and localization result to the target tag over using just a single direct path to the target tag, or in some cases when the target tag is not reachable by the computing device. If the target tag is reachable (i.e., direct path), the computing device may use a target tag response along with the one or more indirect path responses to determine a potentially more accurate target tag distance and direction. A weight may be applied to one or more paths in a lossfunction algorithm to further refine the results. The loss-function algorithm may be based on any one or combination of path parameters, such as the number intermediate tags, the number of hops to the target tag, number of indirect paths, or relative position of the intermediate tags to one or both of the target tag and the computing device.

[0003] The computing device may determine the initial target tag distance, if reachable, and each first-hop distance, corresponding to the distance from the computing device to at least some of the intermediate tags, based on a round-trip-time algorithm that determines roundtrip-times (RTT) of the wireless signal associated with the broadcast data frame to and from the computing device to the target tag and each reachable intermediate tag.

[0004] As such, the techniques of this disclosure may take advantage of the concept of wisdom-of-crowds, in this case of neighboring intermediate tags. Each path from the computing device to each intermediate tag or target, and from each intermediate tag to the target, whether, direct or indirect, has a different noise and multipath profile, and thus when combining them as discussed herein, has the effect of mitigating noise and providing a more accurate estimate of target tag distance and direction from the computing device.

[0005] In one example, this disclosure describes a method that includes, broadcasting, by a computing device, a message over a wireless signal to locate a target tag; receiving, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags; determining, by the computing device, a first-hop direction and a first-hop distance to at least one first-hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determining, by the computing device, a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag.

[0006] In another example, a computing device includes one or more processors, memory, a wireless transceiver to broadcast a message over a wireless signal to locate a target tag; and one or more processors operably coupled to the memory and configured to: receive, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags; determine a first-hop direction and a first-hop distance to at least one first- hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determine a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag. [0007] In an additional example, a computer-readable storage medium comprising instructions that, when executed, configure one or more processors of a computing system to broadcast a message over a wireless signal to locate a target tag; receive, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags; determine a first-hop direction and a first-hop distance to at least one first-hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determine a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag.

[0008] In another example, a computing device comprising means for performing the method of broadcasting, by a computing device, a message over a wireless signal to locate a target tag; receiving, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags; determining, by the computing device, a first- hop direction and a first-hop distance to at least one first-hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determining, by the computing device, a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag [0009] The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS

[0010] FIG. 1 A is a conceptual diagram illustrating an example of a computing device that is configured to locate a target tag by communicating with neighboring intermediate tags proximate to the target tag.

[0011] FIG. IB is a conceptual diagram illustrating another example of a computing device that is configured to locate a target tag by communicating with neighboring intermediate tags proximate to the target tag and the target tag.

[0012] FIG. 2 is a block diagram illustrating an example computing device, in accordance with one or more aspects of the present disclosure.

[0013] FIG. 3 is a diagram illustrating a parking area that includes a computing device, a plurality of intermediate wireless tags, and a wireless target tag, in accordance with one or more aspects of the present disclosure.

[0014] FIG. 4 is a flowchart illustrating an example mode of operation for a computing device to locate a target tag by communicating with neighboring intermediate tags proximate to the target tag, in accordance with one or more aspects of the present disclosure.

DETAILED DESCRIPTION

[0015] Throughout the disclosure, examples are described where a computing device and/or a computing system analyzes information (e.g., wireless ID tags and respective information, locations, context, motion, etc.) associated with a computing device and a user of the computing device, only if the computing device receives permission from the user of the computing device to analyze the information. For example, in situations discussed below, before a computing device or computing system can collect or may make use of information associated with a user, the user may be provided with an opportunity to provide input to control whether programs or features of the computing device and/or computing system can collect and make use of user information (e.g., information about a user’s or user device’s current location, such as by GPS or wireless ID tag, etc.), or to dictate whether and/or how to the device and/or system may receive content that may be relevant to the user. In addition, certain data may be treated in one or more ways before it is stored or used by the computing device and/or computing system, so that personally identifiable information is removed. For example, a user’s identity and image may be treated so that no personally identifiable information can be determined about the user, or a user’s geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and used by the computing device and computing system.

[0016] FIG. 1 A is a conceptual diagram illustrating an example of a computing device that is configured to locate a target tag by communicating with neighboring intermediate tags proximate to the target tag. In the example of FIG. 1, computing device 102 may include, but is not limited to, portable or mobile devices such as mobile phones (including smart phones), laptop computers, tablet computers, wearable computing devices such as smart watches or computerized eyewear, etc.

[0017] As shown in FIG. 1 A, computing device 102 includes a display 104, wireless transceiver 105 and a locator application 106. The wireless transceiver 105 is configured to communicate with wireless identification tags, such as intermediate tags 108-112 and target tag 114. The intermediate tags 108-112 and the target tag 114 may be configured to communicate with each other using a common wireless communication protocol, such as ultra-wide band or other wireless communication protocol configurable to determine at least a distance between the interrogating node (e.g., a computing device or a tag) and a tag. For example, the distance between may be determined by a RTT algorithm, signal strength, etc. In examples, the interrogator (e.g., computing device 102 and some or all the intermediate tags) may include multiple antennas (not shown) that may determine the angle of arrival (AoA) of a response from an interrogated tag, and thus the direction of the response relative to the interrogator. Depending on the configuration of the tags and the application, the intermediate tags may be one or a combination of active, semi-active or passive tags.

[0018] Computing device 102 may execute locator application 106 with one or more processors (e.g., processors 208 of FIG. 2) and may access and utilize various components of computing device 102, such as display 104, wireless transceiver 105, and other components not shown in FIG. 1 and discussed in detail with respect to FIG. 2. In one example, locator application 106 may be configured to locate the position of target tag 114 associated with an object (e.g., a vehicle, backpack, another computing device, etc.) by communicating with one or more intermediate tags in a surrounding area. Using intermediate tags (e.g., intermediate tags 108-112) to establish a path to the target tag (e.g., target tag 114) in the various techniques and examples discussed herein reduces issues with respect to obtaining increased range fidelity for long range sensing when the target tag gets further away from the computing device attempting to track the target tag. As the ranging and localization error grows and the estimates can be unreliable. These issues increase the difficulty in implementing far-field applications such as accurately locating, controlling or initiating an action from an object, such as locating a vehicle in a parking area, parking area management, car self-driving to a user, pre-unlock, etc.

[0019] As shown in the example of FIG. 1 A, intermediate tag 110 and target tag 114 may be too far from computing device 102 to communicate with wireless transceiver 105. Examples may include a multitude of paths through various intermediate tags to the target tag (e.g., target tag 114) to increase the range fidelity for long range sensing. Each path may include a multitude of hops. For simplicity, the largest number of hops in one indirect path illustrated herein is three, including a target hop, however, the number of paths and corresponding hops to the target are not limited to such. In the example for FIG. 1 A, computing device 102 uses two intermediate tag paths of two hops and three hops, respectively, to the target to determine an improved estimate for the direction and distance from computing device 102 to target tag 114.

[0020] For example, wireless transceiver 105 may broadcast message 122 that includes data frame 118 and target identifier 120 over a wireless communication channel (e.g., UWB) to intermediate tags 108 and 112 to locate target tag 114 relative to computing device 102. Data frame 118, including target identifier 120, may be encrypted such that only target tag 114, based on the target identifier, may decode and respond to message 122.

[0021] In a first intermediate tag path, intermediate tag 108 receives message 122 in a first- hop, and, because computing device 102 cannot reach target tag 114, computing device 102 communicates at least a portion of message 122, including target identifier 120, to another intermediate tag 110 in a second-hop. Intermediate tag 110 reaches target tag 114 in a targethop based on its communication of at least a portion of message 122, that includes target identifier 120, to target tag 114. Target identifier 120 signals target tag 114 that target tag 114 is the intended recipient of message 122. Intermediate tag 110 receives target response 140, including range data, for at least determining the target-hop distance between intermediate tag 110 and target tag 114. Intermediate tag 110 sends intermediate response 142 that includes range data associated with the target-hop distance and direction data associated with the second-hop distance. Intermediate tag 108 communicates intermediate response 144 to locator application 106 through the wireless transceiver 105. Intermediate response 144 may include the range data associated with the target-hop distance, the second-hop distance and direction data associated with the first-hop distance from computing device 102 to intermediate tag 108. In another example, intermediate response 144 including the range data of the first-hop distance is communicated to computing device 102 prior to the transmission to the intermediate tag 110, meaning another intermediate response 144 may be communicated to computing device 102 after receiving intermediate response 142 and target response 140 that include the range data associated with the target-hop distance and the second-hop distance, respectively.

[0022] The example of FIG. 1 A includes a second intermediate tag path through intermediate tag 112 to target tag 114. Intermediate tag 112 is a first hop node and receives message 122 from computing device 102. Intermediate tag 112 reaches target tag 114 in a target-hop based on its communication of at least a portion of message 122, including target identifier 120, to target tag 114. Intermediate tag 112 receives target response 146, including range data, for determining at least the target-hop distance between the intermediate tag 112 and the target tag 114. Intermediate tag 112 communicates intermediate response 148, including the range data associated with the target-hop distance and the first-hop distance, to computing device 102, which uses locator application 106 to process the data to figure out the direction and distance to the target tag 114.

[0023] Locator application 106 may determine each first-hop response direction between computing device 102 and intermediate tags 108 and 112 based on intermediate responses 144 and 148, respectively. In one example, computing device 102 includes multiple antennas (not shown) that may determine the angle of arrival (AoA) of the wireless signals associated with intermediate response 144 and intermediate response 148. Based on each the angle of arrival, location application 106 may determine the direction of each response relative to computing device 102. In other examples, some or all the intermediate tags may include multiple antennas and based on the AoA provide direction data of the source of each intermediate response relative to other intermediate tags and/or the target tag. The direction data, among other data (e.g., range data from other intermediate tags or the target tag), may be used by the location application 106 to determine the direction and distance to the target tag 114. Returning to computing device 102, in one example, based on intermediate responses 144 and 148, locator application 106 may determine the distance and direction of target tag 114 relative to computing device 102. In one example, the target tag distance and the target tag direction are based on each intermediate path’s data that includes each intermediate tag’s 108 and 112 first-hop direction (i.e., direction from the computing device 102) and their respective intermediate responses 144 and 148. The intermediate responses 144 and 148 may further include the second hop distance from intermediate tag 108 to 110, the target-hop distance from intermediate tag 110 to target tag 114, and the target-hop from intermediate tag 112 and to target tag 114, respectively. In one example, the target tag distance and each hop distance are determined based on a round-trip-time (RTT) algorithm associated with each wireless signal. For example, a RTT between computing device 102 to target tag 114 (if in range), and a RTT for each second-hop and target-hop, such as between intermediate tag 108 and intermediate tag 110, and between intermediate tag 110 and target tag 114. In some examples, the intermediate responses from each intermediate tag may include additional timing data for the RTT algorithm, such as a turnaround time reflecting the intermediate tag processing delay, to increase the accuracy of the RTT determination.

[0024] To further refine the results, locator application 106 may use an algorithm, such as a loss-function algorithm, to apply a separate weight to each of the two intermediate paths. In one example, the weight is a scalar multiplied to each term of the loss-function algorithm, where each term mathematically represents the path to the target tag. Each term of the lossfunction algorithm may be comprised positional values, such as cartesian coordinates based on distance measurements (i.e., second hop and target hop distances) and cartesian-polar mapping (i.e., first hop distance and AoA data). In some examples, a higher weight may be given to the most accurate path and a lesser weight to other paths. In the example of FIG. 1 A, there is not a direct path to target tag 114 from computing device 102 and thus, the weight given to the term representing the direct path may be “0” and the weight given to the indirect path “1”. In other examples, different weights may be distributed among a multitude of paths depending on their path parameters, as discussed below. [0025] In one example, the weights for each path term may be based on any one or combination of a number of path parameters, such as the number and type (e.g., direct and indirect) of available paths to the target tag, first hop direction, the number intermediate tags to the target in path (i.e., the number of hops), the distance to the target tag on a direct hop, or relative position of the intermediate tags to one or both target tag and the computing device. In one example, the weights for a variety of path combinations and path parameters may be determined based on experimental results or simulations and stored either locally on computing device 102 or remotely (i.e., in the cloud - not shown) and, in one example, used by locator application 106 to determine the target tag distance and direction as discussed herein.

[0026] In one example, locator application 106 may output results to display 104. For example, locator application 106 may include a mapping or plotting function to provide a user of computing device 102 navigation data, such as a map, grid, or coordinates to an object (e.g., a vehicle, a backpack, or another computing device) based on the determined target distance and target direction, as set forth in the techniques and examples discussed herein.

[0027] FIG. IB is a conceptual diagram illustrating another example of a computing device that is configured to locate a target tag by communicating with neighboring intermediate tags proximate to the target tag and the target tag. In the example of FIG. IB, like FIG. 1A, computing device 102 may include display 104, wireless transceiver 105 and locator application 106. The components and techniques discussed herein with respect to FIG. IB, such as the hardware, software, protocols (e.g., UWB) wireless data communicated by computing device 102, and techniques (e.g., use of RTT, etc.) is similar or the same as that discussed in FIG. 1 A and will not be repeated here for brevity. The example of FIG. IB, unlike the example of FIG. 1 A, does not include a second-hop from one intermediate tag to another intermediate tag (e.g., see the second hop of FIG. 1 A) and further includes a first-hop directly to target tag 154. Although a direct connection is made to target tag 154 from computing device 102, the connection may have accuracy issues with respect to range fidelity due to noise, etc., especially over long ranges, or if actively moving the computing device (e.g., walking with a mobile device) as the target tag (e.g., target tag 154) gets further away from the device as it attempts to track the target tag. Thus, using intermediate tags in the various techniques and examples discussed herein reduces issues with respect to obtaining increased range fidelity for medium to long range sensing while tracking the target tag.

[0028] Examples may include a path to the target tag and a multitude of paths through various intermediate tags to the target tag (e.g., target tag 154) that may be used to increase the range fidelity for long range sensing. In the example for FIG. IB, computing device 102 uses one direct path to target tag 154 and two intermediate tag paths to target tag 154 to determine an improved estimate for the direction and distance from computing device 102 to target tag 154.

[0029] For example, the wireless transceiver 105 may broadcast a data frame 118, including target identifier 120, in message 132 over a wireless communication channel (e.g., UWB) to intermediate tags 150 and 152, and target tag 154 to locate target tag 154 relative to computing device 102. The data frame 118, including the target identifier 120, may be encrypted such that only target tag 154, based on the target identifier, may decode and respond to the message 132. In other words, the target tag identifier 120 is configured to signal the target tag 114 that it is the intended recipient of the message 132.

[0030] In one example, target tag 154 receives, in a first-hop, message 132. In response, target tag 154 communicates target response 160 to locator application 106 through the wireless transceiver 105. Target response 160 may include range data associated with a direct target-hop distance from computing device 102 to target tag 154. Because the direct targethop is a first hop directly from computing device 102, the target tag direction may also be derived based on target response 160, as described above with respect to FIG. 1 A (e.g., using RTT algorithm)

[0031] In a first intermediate tag path, the intermediate tag 150 receives message 132 in a first-hop and communicates at least a portion of message 132, including target identifier 120, to target tag 154 in a target-hop. The intermediate tag 150 receives target response 162, including range data for at least determining the target-hop distance between the intermediate tag 150 and target tag 154. The intermediate tag 150 communicates an intermediate response 164 to locator application 106 through the wireless transceiver 105. The intermediate response 164 may include the range data associated with the target-hop distance and the first- hop distance from computing device 102 to intermediate tag 150. In another example, intermediate response 164, including the range data of the first-hop distance, is communicated to computing device 102 prior to the transmission of the target-hop, meaning another intermediate response 164 may be communicated to computing device 102 after the acquisition of target response 162 that includes the range data associated with the target-hop distance.

[0032] The second intermediate tag path in the example of FIG. IB is through intermediate tag 152 to target tag 154. Intermediate tag 152 receives message 132 in a first-hop.

Intermediate tag 112 reaches target tag 154 in a target-hop based on its communication of at least a portion of message 132, including target identifier 120, to target tag 154. The intermediate tag 152 receives a target response 166 including range data for determining at least the target-hop distance between the intermediate tag 152 and target tag 154. The intermediate tag 152 communicates intermediate response 168, including the range data associated with the target-hop distance and the first-hop distance, to locator application 106 through wireless transceiver 105.

[0033] Locator application 106 may determine each first-hop response direction between the computing device 102 and intermediate tag 150, intermediate tag 152 and target tag 154 based on intermediate response 164, intermediate response 168, and target response 160 direct from target tag 154. As discussed above with respect to FIG. 1 A, computing device 102, and in some examples one or more of the intermediate tags, may determine the direction (e.g., via AoA) of each first-hop response and the direct target-hop response relative to computing device 102.

[0034] Locator application 106 of computing device 102 may determine a revised target tag distance and target tag direction from computing device 102 to target tag 154 based on the received intermediate responses, target response 160, the determined first-hop response directions and the direct target-hop direction. Further, as discussed above with respect to FIG. 1 A, determining the target tag distance and target tag direction may include locator application 106 applying a loss-function algorithm that applies weights to each path term to improve accuracy.

[0035] In one example, locator application 106 may output results to display 104. For example, locator application 106 may include a mapping or plotting function to provide a user of computing device 102 navigation data, such as a map, grid, or coordinates to an object (e.g., a vehicle, a backpack, or another computing device) using the determined target distance and target direction based on target tag 154 and intermediate tags 150 and 152, as set forth in the techniques and examples discussed herein.

[0036] FIG. 2 is a block diagram illustrating an example computing device, in accordance with one or more aspects of the present disclosure. FIG. 2 illustrates only one example of computing device 102, as illustrated in FIGS. lA and IB. Many other examples of computing device 102 may be used in other instances and may include a subset of the components included in example computing device 202 or may include additional components not shown in FIG. 2.

[0037] As shown in the example of FIG. 2, computing device 202 includes one or more processors 208, one or more input/output components, such as user interface components (UIC) 203, one or more communication units 210, and one or more storage devices 207. Storage devices 207 of computing device 202 may include locator application 206 application and operating system 214. UIC 203 may include display 204 and I/O (input/output) devices 212, and the communication unit(s) 210 may include wireless transceiver 205. The one or more communication units 210 of computing device 202, for example, may communicate with external devices by transmitting and/or receiving data at computing device 202, such as to and from locator application 206, and intermediate tags and target tags (e.g., intermediate tag 150 and target tag 154). computing device 202 may use communication units 210 to transmit and/or receive radio signals including data on a radio network such as a cellular network or transmit and receive wireless signals including data frames and packets. Example communication units 210 include a network interface card (e.g., such as an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and/or receive information. Other examples of communication units 210 may devices configured to transmit and receive Ultrawideband®, Bluetooth®, GPS, 3G, 4G, and Wi-Fi®, etc. that may be found in computing devices, such as mobile devices and the like.

[0038] As shown in the example of FIG. 2, communication channels 232 may interconnect each of the components as shown for inter-component communications (physically, communicatively, and/or operatively). In some examples, communication channels 232 may include a system bus, a network connection (e.g., to a wireless connection as described above), one or more inter-process communication data structures, or any other components for communicating data between hardware and/or software locally or remotely.

[0039] One or more storage devices 207 within computing device 202 may store information, such as data associated with intermediate responses and target responses as discussed herein, for processing during operation of computing device 202. In some examples, one or more storage devices of storage devices 207 may be a volatile or temporary memory. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art. Storage devices 207, in some examples, may also include one or more computer-readable storage media. Storage devices 207 may be configured to store larger amounts of information for longer terms in non-volatile memory than volatile memory. Examples of non-volatile memories include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage devices 207 may store program instructions and/or data associated with the operating system 214 and the locator application 206.

[0040] One or more I/O devices 212 and display 204 of UIC 203 of computing device 202 may receive inputs and generate outputs. Examples of inputs are tactile, audio, kinetic, and optical input, to name a few examples. Input devices of I/O devices 212, in one example, may include a touchscreen, a touch pad, a mouse, a keyboard, a voice responsive system, a video camera, buttons, a control pad, a microphone or any other type of device for detecting input from a human or machine. Output devices of I/O devices 212, in addition to display 204, may include, a sound card, a video graphics adapter card, a speaker, or any other type of device for generating output to a human or machine.

[0041] Locator application 206 may perform operations described herein using software, hardware, firmware, or a mixture of both hardware, software, and firmware residing in and executing on computing device 202 or at one or more other remote computing devices (e.g., cloud-based application - not shown). Computing device 202 may execute locator application 206 with one or more processors 208 or may execute any or part of locator application 206 as or within a virtual machine executing on underlying hardware. Locator application 206 may be implemented in various ways, for example, locator application 206 may be implemented as a downloadable or pre-installed application or “app.” In another example, locator application 206 may be implemented as part of operating system 214 of computing device

202. Other examples of computing device 202 that implement techniques of this disclosure may include additional components not shown in FIGS. 1A and IB.

[0042] One or more processors 208 may implement functionality and/or execute instructions within computing device 202. For example, one or more processors 208 may receive and execute instructions that provide the functionality locator application 206 to perform one or more operations and various functions described herein to broadcast encrypted messages over a wireless signal (e.g., UWB) to locate a target tag using responses from neighboring intermediate tags over indirect paths to determine a target tag distance and range.

[0043] In the example of FIG. 2, one or more processors 208 may implement functionality and/or execute instructions within computing device 202. For example, one or more processors 208 may receive and execute instructions that provide the functionality of UIC

203, communication units 210, and one or more storage devices 207 that include locator application 206 and operating system 214 to perform one or more operations as described herein. The one or more processors 208 include central processing unit (CPU) 218 and graphics processing unit (GPU) 220. GPU 220 may be a processing unit configured to configured to perform graphics related functions, such as to generate and output graphics data for presentation on a display, as well as to perform non-graphics related functions that exploit the massive processing parallelism provided by GPU 220. Examples of CPU 218 and GPU 220 include, but are not limited to, a digital signal processor (DSP), a general-purpose microprocessor, a tensor processing unit (TPU); a neural processing unit (NPU); a neural processing engine; a core of a CPU, VPU, GPU, TPU, NPU or other processing device, an application specific integrated circuit (ASIC), a field programmable logic array (FPGA), or other equivalent integrated or discrete logic circuitry, or other equivalent integrated or discrete logic circuitry.

[0044] UIC 203 of computing device 202 may function as an input device for computing device 202 and as an output device to, for example, receive input and displaying output associated with the execution of locator application 206. For instance, display 204 of UIC 203 may function as an input device using a resistive touchscreen, a surface acoustic wave touchscreen, a capacitive touchscreen, a projective capacitance touchscreen, a pressure sensitive screen, an acoustic pulse recognition touchscreen, or another presence-sensitive screen technology. Further, display 204 of UIC 203 may function as an output device using any one or more of a liquid crystal display (LCD), dot matrix display, light emitting diode (LED) display, microLED, organic light-emitting diode (OLED) display, e-ink, or similar monochrome or color display capable of outputting visible information to the user of computing device 202.

[0045] In some examples, display 204 may be a presence-sensitive screen that may receive tactile user input from a user of computing device 202. UIC 203 may receive the tactile user input by detecting one or more taps and/or gestures from a user of computing device 202 (e.g., the user touching or pointing to one or more locations of UIC 203 with a finger or a stylus pen). The presence-sensitive screen of UIC 203 may present output to a user. UIC 203 may present the output as a user interface, which may be related to functionality provided by computing device 202. For example, UIC 203 may present various functions and applications executing on computing device 202 such as an electronic message application, a messaging application, a map application, etc.

[0046] In one example, locator application 206 may interpret input data detected at display 204 of UIC 203 (e.g., as a user provides one or more gestures at a location on display 204) as a request to locator application 206 to locate a target tag associated with an object. In response, for example, wireless transceiver 205 may broadcast a message that includes a data frame and a target identifier over a wireless communication channel (e.g., UWB) to intermediate tags and potentially the target tag. Locator application 206 may then receive over wireless transceiver 205 intermediate tag and/or target tag data in the form of intermediate responses and a target response (if in range), as detailed above with respect to FIGS. lA and IB.

[0047] Locator application 206 may determine each first-hop response direction between the computing device and each intermediate tag and the target tag, if in range, based on the received intermediate responses and the target response. As discussed above with respect to FIGS. 1 A and IB, computing device 202, and in some examples one or more of the intermediate tags, may determine the direction (e.g., via AoA) of each first-hop response and the direct target-hop response relative to computing device 202. [0048] Locator application 206 of computing device 202 may determine a target tag distance and target tag direction from computing device 202 to the target tag based on the received intermediate responses, the target response, the determined first-hop response directions and the direct target-hop direction (if the target tag is in range of the wireless transceiver 205). [0049] In one example, locator application 206 may output results to display 204. For example, locator application 206 may include a mapping or plotting function to provide a user of computing device 202 navigation data, such as a map, grid, or coordinates to an object (e.g., a vehicle, a backpack, or another computing device) using the determined target distance and target direction based on the target tag and intermediate tags, as set forth in the techniques and examples discussed herein.

[0050] In situations in which the systems discussed herein may collect personal information (i.e., data) about the user to the extent it includes and may make use of the user’s personal information, such as the use and location data of intermediate tags, the user may be provided with an opportunity to control whether, and to what extent, programs or features collect the user’s information (e.g., information about the user’s current location). In addition, certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, the user’s identity may be treated so that no personally identifiable information can be determined for the user, or the user’s geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of the user cannot be determined. Thus, the user may have control over how information is collected about the user and used by the computing device 102 as described here.

[0051] FIG. 3 is a diagram illustrating a parking area that includes computing device 302 in the form of a handheld device, and a plurality of intermediate wireless tags and a wireless target tag, in accordance with one or more aspects of the present disclosure. Computing device 302, in this example, includes all the components of computing device 102 and 202 as described with respect to FIGS. IB, IB, and FIG. 2 above, including display 304.

[0052] As shown in the example of FIG. 3, the diagram includes user car 376 including target tag 314, car 374 including intermediate tag 312, car 370 including intermediate tag 308, car 378 including intermediate tag 311, and car 372 including intermediate tag 310. In one example, computing device 302 may receive input, as described above, that begins execution of a locator application (e.g., locator application 106) to locate target tag 314 associated with user car 376. In one example, device 302 performs the operations and functions to locate target tag 314 by broadcasting a message that includes a data frame and a target identifier over a wireless communication channel (e.g., UWB) to the intermediate tags and potentially the target tag, if in range. Locator application 106 (not shown) may then receive over wireless transceiver 205 intermediate tag and/or target tag data in the form of intermediate responses and a target response (if in range), as detailed above with respect to FIGS. 1 A and IB, and shown here as first-hops, a second-hop, target hops, and a direct target-hop (if in range).

[0053] As discussed above, locator application 106 of computing device 302, may determine each first-hop response direction between computing device 302 and each intermediate tag 312-320 and target tag 314, if in range. Each first hop direction is based on the received intermediate responses from intermediate tags 308-212 and the target response from target tag 314, respectively.

[0054] Computing device 302 may determine intermediate tag 311 will not be used in determining the location of target tag 314 based at least on one of the direction or distance of intermediate tag 311. In the example as illustrated in FIG. 3, computing device 302 determines intermediate tag 311 is in the opposite direction with respect to target tag 314 and thus excludes intermediate tag 311 in determining the distance and direction to the target tag 314. In another example, computing device 302 may determine the distance from of an intermediate tag (e.g., intermediate tag 311) to at least one of the target tag 314 or the computing device 302 exceeds a threshold distance. In response, computing device 302 may exclude the intermediate tag in the determination of the distance and direction to the target tag 114.

[0055] Computing device 302 may determine a target tag distance and target tag direction from computing device 302 to target tag 314 based on the received intermediate responses from intermediate tags 316 and 318 (via first hops), intermediate tag 310 (via second hop through intermediate tag 308), the target response from target tag 314 (if in range), the determined first-hop response directions and the direct target-hop direction (if in range). As discussed above with respect to FIG. 1 A, computing device 302 may apply a loss-function algorithm that applies weights to each path term to improve accuracy as part of determining the target tag distance and target tag direction.

[0056] In one example, a locator application executing at computing device 302 may cause a display of computing device 302 to display the results of the locating process. For example, the computing device 302 may display a graphical user interface on display 304 that includes a mapping or plotting function to provide a user of computing device 302 navigation data, such as a map, grid, or coordinates to user car 376.

[0057] FIG. 4 is a flowchart illustrating an example mode of operation for a computing device to locate a target tag by communicating with neighboring intermediate tags proximate to the target tag. FIG. 4 is described below in the context of computing device 202 of FIGS. 1 A and IB, FIG. 2 and computing device 302 of FIG. 3. As shown in FIG. 4, computing device 202 may broadcast a message (e.g., message 122) over a wireless signal to locate a target tag (e.g., target tag 114) (402). Computing device 202 may receive, in response to the broadcast message, a plurality of intermediate responses (e.g., intermediate responses 144 and 148) from one or more intermediate tags (404). The computing device may determine a first-hop direction and a first-hop distance to at least one first-hop intermediate tag (e.g., intermediate tag 108 and 112) of the one or more intermediate tags based on the plurality of intermediate responses (406). The computing device may determine a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag (408).

[0058] This disclosure includes the following examples.

[0059] Example 1 : A method comprising: broadcasting, by a computing device, a message over a wireless signal to locate a target tag; receiving, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags; determining, by the computing device, a first-hop direction and a first-hop distance to at least one first-hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determining, by the computing device, a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag.

[0060] Example 2: The method of example 1, further comprising: receiving, in response to the message, a target response including range data from the target tag; and determining, by the computing device, the target tag distance and the target tag direction from the computing device to the target tag based on the target response and the plurality of intermediate response from each of the one or more intermediate tags.

[0061] Example 3: The method of any one of examples 1-2, further comprising: determining, by the computing device, the target tag distance and each first-hop distance from the computing device based on corresponding round-trip-times (RTT) of the wireless signal to and from the computing device to the target tag and each first-hop intermediate tag.

[0062] Example 4: The method of any one of examples 1-3, further comprising: determining, by the computing device with the range data, the target-hop distance from each intermediate tag to the target tag based on a round-trip-time (RTT) of a second wireless signal from each intermediate tag to the target tag.

[0063] Example 5: The method of any one of examples 1-4, wherein the wireless signal is a first wireless signal, the method further comprising: encrypting the message, the encrypted message including a target tag identifier used by each intermediate tag to transmit a second message over a second wireless signal and configured to communicate with only the target tag.

[0064] Example 6: The method of any one of examples 1-5, further comprising: selecting two or more intermediate tags from the plurality of intermediate tags for determining the target tag distance based on at least on one of a threshold distance from the target tag to each of the plurality of intermediate tags, or a direction from the computing device to each of the plurality of intermediate tags.

[0065] Example 7: The method of any one of examples 1-6, wherein the intermediate response for one or more of the intermediate tags further includes range data associated with a third-hop distance from each first-hop intermediate tag to a second-hop intermediate tag, and the target-hop distance from the second intermediate tag to the target tag. [0066] Example 8: The method of any one of examples 1-7, wherein determining the target tag distance and the target tag direction further includes: determining the target tag distance and the target tag direction from the computing device to the target tag based on the plurality of intermediate responses from each of the one or more intermediate tags, wherein the intermediate responses include a direction from one or more intermediate tags to another intermediate tag and the target tag.

[0067] Example 9: The method of any one of examples 1-9, wherein the wireless signal and the second wireless signal are ultra-wideband (UWB) signals.

[0068] Example 10: The method of any one of examples 1-9, wherein one or more intermediate paths include one or more intermediate tags between the computing device and the target tag and a direct path from the computing device to the target tag, wherein determining the target tag distance and the target tag direction from the computing device to the target tag further comprises: applying, by the computing device, a loss-function algorithm that applies a weight to each term of an equation loss-function algorithm to determine the target tag distance and the target tag direction, wherein each term of the equation represents at least one of each intermediate path of the one or more intermediate paths to the target tag or the direct path to the target tag.

[0069] Example 11 : A computing device comprising: a wireless transceiver to broadcast a message over a wireless signal to locate a target tag; memory; and one or more processors operably coupled to the memory and configured to: receive, in response to the broadcast message, a plurality of intermediate responses from one or more intermediate tags; determine a first-hop direction and a first-hop distance to at least one first-hop intermediate tag of the one or more intermediate tags based on the plurality of intermediate responses; and determine a target tag distance and a target tag direction from the computing device to the target tag based on each first-hop direction and the plurality of intermediate responses from each of the one or more intermediate tags, wherein at least one of the plurality of intermediate responses from the one or more intermediate tags includes range data associated with a target-hop distance from the intermediate tag to the target tag.

[0070] Example 12: The computing device of example 11, wherein the one or more processors are further configured receive, in response to the message, a target response including range data from the target tag; and determine the target tag distance and the target tag direction from the computing device to the target tag based on the target response and the plurality of intermediate response from each of the one or more intermediate tags.

[0071] Example 13: The computing device of example 12, wherein the one or more processors are further configured to: determine the target tag distance and each first-hop distance from the computing device based on corresponding round-trip-times (RTT) of the wireless signal to and from the computing device to the target tag and each first-hop intermediate tag.

[0072] Example 14: The computing device of example 12, wherein the one or more processors are further configured to: determine with the range data, the target-hop distance from each intermediate tag to the target tag based on a round-trip-time (RTT) of a second wireless signal from each intermediate tag to the target tag.

[0073] Example 15: The computing device of example 12, wherein the one or more processors are further configured to: encrypt the message, the encrypted message including a target tag identifier used by each intermediate tag to transmit a second message over a second wireless signal and configured to communicate with only the target tag.

[0074] Example 16: The computing device of any of examples 12-15, wherein the one or more processors are further configured to: select two or more intermediate tags from the plurality of intermediate tags for determining the target tag distance based on at least on one of a threshold distance from the target tag to each of the plurality of intermediate tags, or a direction from the computing device to each of the plurality of intermediate tags.

[0075] Example 17: The computing device of any of examples 12-16, wherein the intermediate response for one or more of the intermediate tags further includes range data associated with a third-hop distance from each first-hop intermediate tag to a second-hop intermediate tag, and the target-hop distance from the second intermediate tag to the target tag.

[0076] Example 18: The computing device of any of examples 12-16, wherein to determine the target tag distance and the target tag direction, the one or more processors are further configured to: determine the target tag distance and the target tag direction from the computing device to the target tag based on the plurality of intermediate responses from each of the one or more intermediate tags, wherein the intermediate responses include a direction from one or more intermediate tags to another intermediate tag and the target tag. [0077] Example 19: The computing device of any of examples 11-18, wherein the wireless signal and the second wireless signal are ultra-wideband (UWB) signals.

[0078] Example 20: The computing device of example 19, wherein one or more intermediate paths include one or more intermediate tags between the computing device and the target tag and a direct path from the computing device to the target tag, wherein determining the target tag distance and the target tag direction from the computing device to the target tag, the one or more processors are further configured to: apply a loss-function algorithm that applies a weight to each term of an equation loss-function algorithm to determine the target tag distance and the target tag direction, wherein each term of the equation represents at least one of each intermediate path of the one or more intermediate paths to the target tag or the direct path to the target tag.

[0100] Example 21 : A computer-readable storage medium encoded with instructions that cause one or more processors of a computing device to perform the methods of any one of examples 1-10.

[0101] Example 22: A computing device comprising means for performing the method recited by any of examples 1-10.

[0102] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer- readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage mediums and media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to nontransient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable medium.

[0103] The techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, various aspects of the described techniques may be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry. A control unit including hardware may also perform one or more of the techniques of this disclosure.

[0104] Such hardware, software, and firmware may be implemented within the same device or within separate devices to support the various techniques described in this disclosure. In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware, firmware, or software components. Rather, functionality associated with one or more modules or units may be performed by separate hardware, firmware, or software components, or integrated within common or separate hardware, firmware, or software components.

[0105] Various examples of the invention have been described. These and other examples are within the scope of the following claims.