Multipath automatic bounce location determination
By receiving intermediate tag responses via broadcast messages from computing devices and combining them with a loss function algorithm, the problem of inaccurate target tag localization in portable devices at long distances and in complex environments is solved, achieving more accurate target tag distance and orientation estimation, which is suitable for applications such as parking area management and autonomous driving.
Patent Information
- Application Number
- CN202180025981.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-07
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2041-12-07
AI Technical Summary
In computing devices, especially portable or handheld devices, existing technologies struggle to accurately locate target tags over long distances and in complex environments, particularly when the target tag is unreachable, resulting in inaccurate positioning.
The computing device broadcasts messages using wireless signals, receives multiple intermediate responses from neighboring intermediate tags, and combines a loss function algorithm to determine the distance and direction of the target tag, using multipath information to reduce the impact of noise.
It improves the accuracy of target tag localization in long distances and complex environments, enhances the range fidelity of long-range sensing, and is suitable for applications such as parking area management and autonomous driving.
Smart Images

Figure CN116569568B_ABST
Abstract
Description
Background Technology
[0001] Computing devices, especially portable or handheld devices, typically include a large number of wireless transceivers, such as those used for GPS (Global Positioning System). LE (Low Energy) and The transceiver. Therefore, tracking applications installed on these computing devices can utilize certain technologies in these wireless technologies, along with tracking tags or additional wireless nodes, to provide a convenient way to track and locate tagged items. The tag can be active, semi-active, or passive. Passive tags use incoming wireless signals from the reader to power the tag's response transmission. Semi-active tags are medium-range tags that use their own power source (such as a battery) to transmit information to the reader but remain dormant until the reader sends an excitation signal to activate its circuitry. Active tags are long-range tags that have a transmitter and their own power source to operate the tag's circuitry and broadcast signals to the reader. Active tags can transmit continuously as beacons or when activated by a reader's signal. Summary of the Invention
[0002] Generally speaking, the technology of this invention relates to using wireless components of a computing device (e.g., a smartphone) in wireless signals (e.g., Encrypted data frames are broadcast over Ultra-Wideband (UWB) to locate a target tag and determine its distance and orientation using responses from neighboring intermediate tags via one or a combination of direct and indirect paths. The combined total range information from each indirect path, along with their respective intermediate tag responses, provides improved range and localization results for the target tag compared to a single direct path to the target tag, or in some cases, when the target tag is inaccessible by the computing device. If the target tag is reachable (i.e., a direct path), the computing device can use the target tag response along with responses from one or more indirect paths to determine a potentially more accurate target tag distance and orientation. Weights can be applied to one or more paths in a loss function algorithm to further refine the results. The loss function algorithm can be based on any one or a combination of path parameters, such as the number of intermediate tags, the number of hops to the target tag, the number of indirect paths, or the relative position of intermediate tags with respect to the target tag and one or both of the computing device.
[0003] If reachable, the computing device can determine the initial target tag distance and each first hop distance corresponding to at least some of the distances from the computing device to the intermediate tags based on a round-trip time algorithm that determines the round-trip time (RTT) of the radio signals associated with the broadcast data frames to and from the computing device to the target tag and each reachable intermediate tag.
[0004] Therefore, the technology of the present invention can utilize the concept of swarm intelligence—in this case, adjacent 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 different noise and multipath distributions, and thus when combined as discussed herein, has the effect of mitigating noise and providing a more accurate estimate of the distance and orientation of the target tag relative to the computing device.
[0005] In one example, this disclosure describes a method comprising: broadcasting a message via a wireless signal by a computing device to locate a target tag; receiving a plurality of intermediate responses from one or more intermediate tags in response to the broadcast message; determining a first hop direction and a first hop distance to at least one of the one or more intermediate tags based on the plurality of intermediate responses; and determining 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 the target hop distance from the intermediate tag to the target tag.
[0006] In another example, the computing device includes one or more processors, memory, and a wireless transceiver for broadcasting messages via wireless signals to locate a target tag; and the one or more processors are operatively coupled to the memory and configured to: receive a plurality of intermediate responses from one or more intermediate tags in response to the broadcast message; determine a first hop direction and a first hop distance to at least one 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 the target hop distance from the intermediate tag to the target tag.
[0007] In another example, a computer-readable storage medium includes instructions that, when executed, configure one or more processors of a computing system to broadcast a message via a wireless signal to locate a target tag; in response to the broadcast message, receive 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 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 the target hop distance from the intermediate tag to the target tag.
[0008] In another example, a computing device includes a method for performing: broadcasting a message via a wireless signal to locate a target tag; receiving a plurality of intermediate responses from one or more intermediate tags in response to the broadcast message; determining a first hop direction and a first hop distance to at least one of the one or more intermediate tags based on the plurality of intermediate responses; and determining 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 the target hop distance from the intermediate tag to the target tag.
[0009] Details of one or more examples of this disclosure are set forth in the following figures and description. Other features, objects, and advantages will be apparent from the description and figures, as well as from the claims. Attached Figure Description
[0010] Figure 1A This is a conceptual diagram illustrating an example of a computing device configured to locate a target tag by communicating with adjacent intermediate tags that are close to the target tag.
[0011] Figure 1B This is a conceptual diagram illustrating another example of a computing device configured to locate a target tag by communicating with adjacent intermediate tags and the target tag that are close to the target tag.
[0012] Figure 2 It is a block diagram illustrating an example computing device according to one or more aspects of this disclosure.
[0013] Figure 3 This is a diagram illustrating a parking area including a computing device, a plurality of intermediate wireless tags, and a wireless target tag, according to one or more aspects of this disclosure.
[0014] Figure 4This is a flowchart illustrating an example operating mode of a computing device according to one or more aspects of this disclosure locating a target tag by communicating with adjacent intermediate tags near the target tag. Detailed Implementation
[0015] Throughout this disclosure, examples are described whereby a computing device and / or computing system analyzes information associated with the computing device and its user (e.g., wireless ID tags and related information, location, context, motion, etc.) only when the computing device receives permission from the user of the computing device to analyze the information. For example, in the cases discussed below, before the computing device or computing system can collect or utilize information associated with the user, the user may be given an opportunity to provide input to control whether a program or feature of the computing device and / or computing system can collect and use user information (e.g., information about the user or the current location of the user's device, such as via GPS or a wireless ID tag), or to instruct whether and / or how the device and / or system can receive content that may be relevant to the user. Furthermore, certain data may be processed in one or more ways before it is stored or used by the computing device and / or computing system to remove personally identifiable information. For example, a user's identity and image may be processed to make it impossible to determine personally identifiable information about the user, or the user's geographic location may be generalized (e.g., down to a city, zip code, or state level) where location information is obtained, making it impossible to determine the user's specific location. Therefore, users can control how information about themselves is collected and how that information is used by computing devices and computing systems.
[0016] Figure 1A This is a conceptual diagram illustrating an example of a computing device configured to locate a target tag by communicating with adjacent intermediate tags that are close to the target tag. In the example of Figure 1, the computing device 102 may include, but is not limited to, portable or mobile devices such as mobile phones (including smartphones), laptop computers, tablet computers, wearable computing devices such as smartwatches or computerized glasses.
[0017] like Figure 1AAs shown, computing device 102 includes display 104, wireless transceiver 105, and locator application 106. Wireless transceiver 105 is configured to communicate with radio identification tags such as intermediate tags 108-112 and target tag 114. Intermediate tags 108-112 and target tag 114 can be configured to communicate with each other using a common wireless communication protocol, such as ultra-wideband or other wireless communication protocols, which can be configured to at least determine the distance between the interrogating node (e.g., computing device or tag) and the tag. For example, the distance can be determined by an RTT algorithm, signal strength, etc. In this example, the interrogator (e.g., computing device 102 and some or all of the intermediate tags) can include multiple antennas (not shown) that can determine the angle of arrival (AoA) of the response from the interrogated tag, and thus the direction of the response relative to the interrogator. Depending on the tag and application configuration, the intermediate tags can be one or a combination of active, semi-active, or passive tags.
[0018] Computing device 102 may use one or more processors (e.g., Figure 2 The processor 208) executes the locator application 106 and can access and utilize various components of the computing device 102, such as the display 104, the wireless transceiver 105, and others not shown in Figure 1 and referenced in [reference]. Figure 2 Other components are discussed in detail. In one example, the locator application 106 can be configured to locate the position of a 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 the surrounding area. In the various techniques and examples discussed herein, using intermediate tags (e.g., intermediate tags 108-112) to establish a path to the target tag (e.g., target tag 114) reduces the problem of achieving increased range fidelity for long-range sensing as the target tag moves further away from the computing device attempting to track it. As ranging and positioning errors increase, estimations may become unreliable. These problems increase the difficulty of implementing far-field applications such as accurately locating, controlling, or initiating actions from objects, such as locating vehicles in parking areas, parking management, autonomous driving of cars to users, pre-unlocking, etc.
[0019] like Figure 1A As shown in the example, intermediate tag 110 and target tag 114 may be too far from computing device 102 to communicate with wireless transceiver 105. Examples may include multiple paths through various intermediate tags to the target tag (e.g., target tag 114) to increase range fidelity for long-range sensing. Each path may include multiple hops. For simplicity, the maximum number of hops in one indirect path shown here is three, including the target hop, but the corresponding number of hops and paths to the target is not limited to this. Figure 1AIn the example, computing device 102 uses two intermediate label paths, one two-hop and one three-hop, to the target to determine an improved estimate of the direction and distance from computing device 102 to target label 114.
[0020] For example, wireless transceiver 105 can broadcast message 122, including data frame 118 and target identifier 120, to intermediate tags 108 and 112 via a wireless communication channel (e.g., UWB) to locate target tag 114 relative to computing device 102. Data frame 118 including target identifier 120 can be encrypted such that only target tag 114 can decode and respond to message 122 based on the target identifier.
[0021] In the first intermediate tag path, intermediate tag 108 receives message 122 in the first hop, and because computing device 102 cannot reach target tag 114, computing device 102 transmits at least a portion of message 122, including target identifier 120, to another intermediate tag 110 in the second hop. Intermediate tag 110 reaches target tag 114 in the target hop based on its communication of at least a portion of message 122, including target identifier 120, to target tag 114. Target identifier 120 signals to target tag 114 that target tag 114 is the intended recipient of message 122. Intermediate tag 110 receives a 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 an intermediate response 142 including range data associated with the target hop distance and direction data associated with the second hop distance. Intermediate tag 108 transmits the intermediate response 144 to locator application 106 via wireless transceiver 105. Intermediate response 144 may include 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 range data of the first hop distance is transmitted to computing device 102 before being transmitted to intermediate tag 110, meaning that another intermediate response 144 may be transmitted to computing device 102 after receiving intermediate response 142 and target response 140, which include range data associated with the target hop distance and the second hop distance, respectively.
[0022] Figure 1AExamples include a second intermediate label path from intermediate label 112 to target label 114. Intermediate label 112 is a first-hop node and receives message 122 from computing device 102. Intermediate label 112 arrives at target label 114 in the target hop based on its delivery of at least a portion of message 122, including target identifier 120, to target label 114. Intermediate label 112 receives a target response 146 including range data for at least determining the target hop distance between intermediate label 112 and target label 114. Intermediate label 112 delivers an intermediate response 148, including 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 calculate the direction and distance to target label 114.
[0023] The locator application 106 can determine the direction of each first-hop response between the computing device 102 and the intermediate tags 108 and 112 based on intermediate responses 144 and 148, respectively. In one example, the computing device 102 includes multiple antennas (not shown) that can determine the angle of arrival (AoA) of the radio signals associated with intermediate responses 144 and 148. Based on each AoA, the location application 106 can determine the direction of each response relative to the computing device 102. In other examples, some or all intermediate tags may include multiple antennas and provide direction data of the source of each intermediate response relative to other intermediate tags and / or the target tag based on AoA. The location application 106 can use the direction data and other data (e.g., range data from other intermediate tags or the target tag) to determine the direction and distance to the target tag 114. Returning to the computing device 102, in one example, based on intermediate responses 144 and 148, the locator application 106 can determine the distance and direction of the target tag 114 relative to the computing device 102. In one example, the target label distance and target label direction are based on data for each intermediate path, including the first hop direction (i.e., the direction from computing device 102) for each intermediate label 108 and 112 and their respective intermediate responses 144 and 148. Intermediate responses 144 and 148 may further include the second hop distance from intermediate label 108 to 110, the target hop distance from intermediate label 110 to target label 114, and the target hop distance from intermediate label 112 to target label 114, respectively. In one example, the target label distance and each hop distance are determined based on a round-trip time (RTT) algorithm associated with each radio signal. For example, the RTT between computing device 102 and target label 114 (if within range) and the RTT for each second hop and target hop, such as between intermediate label 108 and intermediate label 110, and between intermediate label 110 and target label 114. In some examples, the intermediate responses from each intermediate label may include additional timing data for the RTT algorithm, such as turnaround time reflecting intermediate label processing delays, to improve the accuracy of RTT determination.
[0024] To further refine the results, the locator application 106 can use an algorithm such as a loss function algorithm to apply separate weights to each of the two intermediate paths. In one example, the weights are scalars multiplied by each term of the loss function algorithm, where each term mathematically represents the path to the target label. Each term of the loss function algorithm can include location values such as Cartesian coordinates based on distance measurements (i.e., the distance between the second hop and the target hop) and Cartesian polar coordinate mappings (i.e., the distance between the first hop and the AoA data). In some examples, higher weights can be given to the most accurate path, while lower weights can be given to other paths. Figure 1AIn the example, there is no direct path from computing device 102 to target label 114, and therefore, the weight given to the item representing the direct path can be "0" and the weight given to the indirect path can be "1". In other examples, different weights can be distributed across the multiple paths according to the path parameters of the multiple paths, as described below.
[0025] In one example, the weight of each path item can be based on any one or a combination of multiple path parameters, such as the number and type of available paths to the target label (e.g., direct and indirect), the first hop direction, the number of intermediate labels in the path to the target (i.e., hop count), the distance to the target label on a direct hop, or the relative position of an intermediate label with respect to the target label and one or both of the computing device. In one example, the weights of various path combinations and path parameters can be determined based on experimental results or simulations, and these weights can be stored locally on computing device 102 or remotely (i.e., in the cloud – not shown), and in one example, the weights are used by locator application 106 to determine the target label 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 mapping or drawing capabilities to provide navigation data to the user of computing device 102 based on determined target distance and target direction, such as coordinates, maps, or grids to objects (e.g., vehicles, backpacks, or other computing devices), as illustrated in the techniques and examples discussed herein.
[0027] Figure 1B This is a conceptual diagram illustrating another example of a computing device configured to locate a target tag by communicating with adjacent intermediate tags and the target tag that are close to the target tag. Figure 1B In the example, such as Figure 1A The computing device 102 may include a display 104, a wireless transceiver 105, and a locator application 106. (References herein) Figure 1B The components and technologies discussed, such as hardware, software, protocols (e.g., UWB), and wireless data and technologies (e.g., the use of RTT) transmitted by computing device 102, are related to... Figure 1A Similar or identical topics discussed elsewhere will not be repeated here for the sake of brevity. Figure 1B Examples, with Figure 1A The examples differ and do not include a second hop from one intermediate label to another (e.g., see [link]). Figure 1AThe second hop also includes a first hop directly to the target tag 154. While a direct connection to tag 154 from computing device 102 is established, this connection can have accuracy issues regarding range fidelity due to noise, especially over long ranges, or if the computing device is actively moved (e.g., walking with a mobile device) while attempting to track the target tag (e.g., target tag 154) is far from the device. Therefore, using an intermediate tag in the various techniques and examples discussed herein reduces the problem of achieving increased range fidelity for mid-to-long range sensing while tracking the target tag.
[0028] Examples could include paths to the target label and multiple paths through various intermediate labels to the target label (e.g., target label 154), which could be used to increase range fidelity for long-range sensing. Figure 1B In the example, computing device 102 uses a direct path to target label 154 and two intermediate label paths to target label 154 to determine an improved estimate of the direction and distance from computing device 102 to target label 154.
[0029] For example, in message 132, wireless transceiver 105 may broadcast a data frame 118 including a target identifier 120 to intermediate tags 150 and 152 and target tag 154 via a wireless communication channel (e.g., UWB) 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 can decode it and respond to message 132 based on the target identifier. In other words, the target tag identifier 120 is configured to signal to target tag 114 that it is the intended recipient of message 132.
[0030] In one example, target tag 154 receives message 132 in the first hop. In response, target tag 154 transmits target response 160 to locator application 106 via wireless transceiver 105. Target response 160 may include range data associated with the direct target hop distance from computing device 102 to target tag 154. Because the direct target hop is the first hop directly from computing device 102, the target tag orientation can also be derived based on target response 160, as described above regarding... Figure 1A The aforementioned (e.g., using the RTT algorithm)
[0031] In the first intermediate tag path, intermediate tag 150 receives message 132 in the first hop and transmits at least a portion of message 132, including target identifier 120, to target tag 154 in the target hop. Intermediate tag 150 receives target response 162, including range data for at least determining the target hop distance between intermediate tag 150 and target tag 154. Intermediate tag 150 transmits intermediate response 164 to locator application 106 via wireless transceiver 105. Intermediate response 164 may include 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 range data of the first hop distance is transmitted to computing device 102 before the transmission of the target hop, meaning that after obtaining target response 162 including range data associated with the target hop distance, another intermediate response 164 can be transmitted to computing device 102.
[0032] Figure 1B In the example, the second intermediate tag path is from intermediate tag 152 to target tag 154. In the first hop, intermediate tag 152 receives message 132. Intermediate tag 152, based on its transmission of at least a portion of message 132 including target identifier 120, reaches target tag 154 in the target hop. Intermediate tag 152 receives a target response 166 including range data for at least determining the target hop distance between intermediate tag 152 and target tag 154. Intermediate tag 152 transmits an intermediate response 168, including range data associated with the target hop distance and the first hop distance, to locator application 106 via wireless transceiver 105.
[0033] The locator application 106 can determine the direction of each first-hop response between the computing device 102 and the intermediate tag 150, and between the intermediate tag 152 and the target tag 154, based on the intermediate responses 164, 168, and 160 directly from the target tag 154. (See above regarding...) Figure 1A The computing device 102, and in some examples one or more intermediate labels, can determine the orientation of each first-hop response and direct target-hop response relative to the computing device 102 (e.g., via AoA).
[0034] The locator application 106 of computing device 102 can determine the revised target tag distance and target tag direction from computing device 102 to target tag 154 based on the received intermediate response, target response 160, determined first hop response direction, and direct target hop direction. Furthermore, as mentioned above regarding... Figure 1A The determination of target label distance and target label orientation discussed may include the locator applying a loss function algorithm that applies weights to each path item to improve accuracy.
[0035] In one example, locator application 106 may output results to display 104. For example, locator application 106 may include mapping or drawing capabilities to provide navigation data to the user of computing device 102, such as coordinates, maps, or grids to objects (e.g., vehicles, backpacks, or other computing devices), as illustrated in the techniques and examples discussed herein, using target distance and target direction determined based on target label 154 and intermediate labels 150 and 152.
[0036] Figure 2 It is a block diagram illustrating an example computing device according to one or more aspects of this disclosure. Figure 2 Only one example of computing device 102 is illustrated, such as Figure 1A and 1B As shown. Many other examples of computing device 102 can be used in other instances and can include a subset of the components included in example computing device 202, or may include... Figure 2 Additional components not shown.
[0037] like Figure 2 As illustrated in the example, computing device 202 includes one or more processors 208, one or more input / output components—such as a user interface component (UIC) 203, one or more communication units 210, and one or more storage devices 207. The storage device 207 of computing device 202 may include a locator application 206 and an operating system 214. UIC 203 may include a display 204 and an I / O (input / output) device 212, and the communication unit 210 may include a wireless transceiver 205. For example, one or more communication units 210 of computing device 202 may communicate with external devices by transmitting and / or receiving data, as well as intermediate and target tags (e.g., intermediate tag 150 and target tag 154), at computing device 202. Computing device 202 may use communication units 210 to transmit and / or receive radio signals including data, or to transmit and receive radio signals including data frames and packets, over a radio network such as a cellular network. Example communication unit 210 includes a network interface card (e.g., an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device capable of sending and / or receiving information. Other examples of communication unit 210 may be devices configured to transmit and receive. GPS, 3G, 4G and Devices such as these can be found in computing devices such as mobile devices.
[0038] like Figure 2As shown in the examples, communication channel 232 can interconnect each of the components shown for inter-component communication (physical, communicative, and / or operational). In some examples, communication channel 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 transferring data locally or remotely between hardware and / or software.
[0039] One or more storage devices 207 within computing device 202 may store information, such as data associated with intermediate and target responses discussed herein, for processing during operation of computing device 202. In some examples, one or more storage devices of storage device 207 may be volatile or temporary memory. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the art. In some examples, storage device 207 may also include one or more computer-readable storage media. Compared to volatile memory, storage device 207 may be configured to store larger amounts of information for longer periods in non-volatile memory. Examples of non-volatile memory include magnetic hard disks, optical disks, floppy disks, flash memory, or electrically programmable memory (EPROM) or electrically erasable programmable memory (EEPROM). Storage device 207 may store program instructions and / or data associated with operating system 214 and locator application 206.
[0040] One or more I / O devices 212 and display 204 of the UIC 203 of computing device 202 can receive input and generate output. Examples of input are haptic, audio, kinetic, and optical inputs, to name just a few. In one example, the input device of I / O device 212 may include a touchscreen, touchpad, mouse, keyboard, voice response system, camera, button, control panel, microphone, or any other type of device for detecting input from a person or machine. In addition to display 204, the output device of I / O device 212 may also include a sound card, video graphics adapter card, speaker, or any other type of device for generating output to a person or machine.
[0041] The locator application 206 may perform the operations described herein using software, hardware, firmware, or a mixture of software, hardware, and firmware residing on and executing on the computing device 202 or one or more other remote computing devices (e.g., cloud-based applications—not shown). The computing device 202 may execute the locator application 206 using one or more processors 208, or may execute the locator application 206 as a virtual machine executing on or within a virtual machine executing on the underlying hardware. The locator application 206 may be implemented in various ways; for example, the locator application 206 may be implemented as a downloadable or pre-installable application or "app". In another example, the locator application 206 may be implemented as part of the operating system 214 of the computing device 202. Other examples of computing devices 202 implementing the techniques of this disclosure may include those not implemented on... Figure 1A and 1B The additional components shown in the image.
[0042] One or more processors 208 may implement functions and / or execute instructions within computing device 202. For example, one or more processors 208 may receive and execute instructions that provide the functional locator application 206 with the ability to perform one or more operations and various functions described herein, such as broadcasting encrypted messages via wireless signals (e.g., UWB) to locate a target tag using responses from neighboring intermediate tags via indirect paths to determine the target tag's distance and range.
[0043] exist Figure 2In the example, one or more processors 208 may implement functions and / or execute instructions within computing device 202. For example, one or more processors 208 may receive and execute instructions that provide functionality for UIC 203, communication unit 210, and one or more memories 207, including locator application 206 and operating system 214, to perform one or more operations as described herein. One or more processors 208 include a central processing unit (CPU) 218 and a graphics processing unit (GPU) 220. GPU 220 may be a processing unit configured to perform graphics-related functions, such as generating and outputting graphics data for rendering on a display, and performing non-graphics-related functions that utilize the massive processing parallelism provided by GPU 220. Examples of CPU 218 and GPU 220 include, but are not limited to: digital signal processors (DSPs), general-purpose microprocessors, tensor processing units (TPUs); neural processing units (NPUs); neural processing engines; cores of CPUs, VPUs, GPUs, TPUs, NPUs or other processing devices, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs) or other equivalent integrated or discrete logic circuits.
[0044] The UIC 203 of computing device 202 can be used as both an input and output device for computing device 202 to receive, for example, input and display output associated with the execution of locator application 206. For example, the display 204 of UIC 203 can be used as an input device employing resistive touchscreen, surface acoustic wave touchscreen, capacitive touchscreen, projected capacitive touchscreen, pressure-sensitive screen, acoustic impulse recognition touchscreen, or other presence-sensitive screen technologies. Furthermore, the display 204 of UIC 203 can be used as an output device employing any one or more of liquid crystal display (LCD), dot matrix display, light-emitting diode (LED) display, micro-LED, organic light-emitting diode (OLED) display, electronic ink, or similar monochrome or color displays 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 can receive tactile user input from a user of computing device 202. UIC 203 can receive tactile user input by detecting one or more taps and / or gestures from a user of computing device 202 (e.g., the user touches or points at one or more locations of UIC 203 with a finger or stylus). The presence-sensitive screen of UIC 203 can present output to the user. UIC 203 can present the output as a user interface, which may be related to the functionality provided by computing device 202. For example, UIC 203 may present various functions and applications performed on computing device 202, such as electronic messaging applications, messaging applications, mapping applications, etc.
[0046] In one example, locator application 206 may interpret input data detected at display 204 on UIC 203 (e.g., when a user provides one or more gestures at a location on display 204) as a request for locator application 206 to locate a target tag associated with an object. In response, for example, wireless transceiver 205 may broadcast a message including a data frame and a target identifier to intermediate tags and potential target tags via a wireless communication channel (e.g., UWB). Locator application 206 may then receive intermediate tag and / or target tag data in the form of intermediate responses and target responses (if within range) via wireless transceiver 205, as described above regarding intermediate tag and / or target tag data. Figure 1A and 1B As detailed above.
[0047] The locator application 206 can determine the direction of each first-hop response between the computing device and each intermediate tag and the target tag based on the received intermediate and target responses within a range. (See above regarding...) Figure 1A and 1B The computing device 202, and in some examples one or more intermediate labels, can determine the orientation of each first-hop response and direct target hop response relative to the computing device 202 (e.g., via AoA).
[0048] The locator application 206 of computing device 202 can determine the target tag distance and target tag direction from computing device 202 to the target tag (if the target tag is within range of wireless transceiver 205) based on the received intermediate response, target response, determined first hop response direction and direct target hop direction.
[0049] In one example, locator application 206 may output results to display 204. For example, locator application 206 may include mapping or drawing capabilities to provide navigation data to the user of computing device 202, such as coordinates, maps, or grids to objects (e.g., vehicles, backpacks, or other computing devices), using target distances and target directions determined based on target labels and intermediate labels, as illustrated in the techniques and examples discussed herein.
[0050] In systems discussed herein, where the collection of personal information (i.e., data) about a user reaches the extent that it includes and can utilize that personal information—such as the use of intermediate tags and location data—the user may be given the opportunity to control whether and to what extent a program or feature collects information about the user (e.g., information about the user's current location). Furthermore, some data may be processed in one or more ways before being stored or used, thereby erasing personally identifiable information. For example, a user's identity may be processed so that the user's personally identifiable information cannot be determined, or the user's geographic location may be hierarchically elevated (e.g., down to the city, zip code, or state level) where the location information is obtained, making it impossible to determine the user's specific location. Therefore, the user can control how information about themselves is collected and how it is used by computing device 102, as described herein.
[0051] Figure 3 This is a diagram illustrating a parking area including a computing device 302 in the form of a handheld device and a plurality of intermediate wireless tags and wireless target tags, according to one or more aspects of this disclosure. In this example, the computing device 302 includes as described above. Figure 1B , 1B and Figure 2 All components of the described computing devices 102 and 202, including display 304.
[0052] like Figure 3As shown in the example, the figure includes a user vehicle 376 including target tag 314, a vehicle 374 including intermediate tag 312, a vehicle 370 including intermediate tag 308, a vehicle 378 including intermediate tag 311, and a vehicle 372 including intermediate tag 310. In one example, computing device 302 may receive input as described above, which initiates the execution of a locator application (e.g., locator application 106) to locate target tag 314 associated with user vehicle 376. In one example, device 302 performs operations and functions to locate target tag 314 by broadcasting a message including a data frame and a target identifier to intermediate tags and potentially to target tags if within range via a wireless communication channel (e.g., UWB). Locator application 106 (not shown) can then receive intermediate tag and / or target tag data in the form of intermediate responses and target responses (if within range) via wireless transceiver 205, as described above regarding intermediate tag and / or target tag data. Figure 1A and 1B The details, and shown here, are the first jump, the second jump, the target jump, and the direct target jump (if within range).
[0053] As described above, the locator application 106 of the computing device 302 can determine each first-hop response direction (if within range) between the computing device 302 and each intermediate tag 312-320 and the target tag 314. Each first-hop direction is based on the intermediate response received from the intermediate tags 308-212 and the target response received from the target tag 314, respectively.
[0054] The computing device 302 can determine, at least based on either the orientation or distance of the intermediate tag 311, that the intermediate tag 311 will not be used to determine the position of the target tag 314. In such cases... Figure 3 In the example shown, computing device 302 determines that intermediate label 311 is in the opposite direction to target label 314, and therefore excludes intermediate label 311 when determining the distance and direction to target label 314. In another example, computing device 302 may determine that the distance from intermediate label (e.g., intermediate label 311) to at least one of target label 314 or computing device 302 exceeds a threshold distance. In response, computing device 302 may exclude intermediate labels when determining the distance and direction to target label 314.
[0055] The computing device 302 can determine the target tag distance and target tag direction from the computing device 302 to the target tag 314 based on intermediate responses received from intermediate tags 316 and 318 (via the first hop), intermediate tag 310 (via the second hop through intermediate tag 308), the target response from the target tag 314 (if within range), the determined first hop response direction, and the direct target hop direction (if within range). (As mentioned above...) Figure 1AAs part of determining the target label distance and target label orientation, the computing device 302 may apply a loss function algorithm that applies weights to each path item to improve accuracy.
[0056] In one example, a locator application executed at computing device 302 can cause the display of computing device 302 to show the results of the positioning process. For example, computing device 302 can display a graphical user interface on display 304, which includes mapping or drawing functions to provide navigation data to the user of computing device 302, such as coordinates, a map, or a grid to the user's car 376.
[0057] Figure 4 This is a flowchart illustrating an example operating mode in which a computing device locates a target tag by communicating with neighboring intermediate tags near the target tag. Below is... Figure 1A and 1B , Figure 2 Computing device 202 and Figure 3 The computing device 302 is described in the context Figure 4 .like Figure 4 As shown, computing device 202 can broadcast messages (e.g., message 122) via wireless signals to locate a target tag (e.g., target tag 114) (402). In response to the broadcast message, computing device 202 can receive multiple intermediate responses (e.g., intermediate responses 144 and 148) from one or more intermediate tags (404). The computing device can determine a first hop direction and a first hop distance to at least one of the one or more intermediate tags (e.g., intermediate tags 108 and 112) based on the multiple intermediate responses (406). The computing device can 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 multiple intermediate responses from each of the one or more intermediate tags, wherein at least one of the multiple intermediate responses from the one or more intermediate tags includes range data associated with the 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: a computing device broadcasting a message via a wireless signal to locate a target tag; in response to the broadcast message, receiving a plurality of intermediate responses from one or more intermediate tags; the computing device determining a first hop direction and a first hop distance to at least one of the one or more intermediate tags based on the plurality of intermediate responses; and the computing device determining 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 includes: in response to the message, receiving a target response including range data relative to the target tag; and the computing device determining 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 responses from each of the one or more intermediate tags.
[0061] Example 3: The method of any one of Examples 1 to 2 further includes: determining the distance to the target tag and the distance to each first hop by the computing device based on the corresponding round-trip time (RTT) of the wireless signals 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 to 3 further includes: the computing device using the range data to determine the target hop distance from each intermediate tag to the target tag based on the round-trip time (RTT) of a second wireless signal from each intermediate tag to the target tag.
[0063] Example 5: A method of any one of Examples 1 to 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, the target tag identifier being used by each intermediate tag to transmit a second message via a second wireless signal, and the target tag identifier being configured to communicate only with the target tag.
[0064] Example 6: The method of any one of Examples 1 to 5 further includes: selecting two or more intermediate labels from the plurality of intermediate labels to determine the target label distance based on at least one of a threshold distance from the target label to each of the plurality of intermediate labels or a direction from the computing device to each of the plurality of intermediate labels.
[0065] Example 7: The method of any one of Examples 1 to 6, wherein the intermediate response of 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 to 7, wherein determining the target label distance and the target label direction further comprises: determining the target label distance and the target label direction from the computing device to the target label based on the plurality of intermediate responses from each of the one or more intermediate labels, wherein the intermediate responses include directions from the one or more intermediate labels to another intermediate label and the target label.
[0067] Example 9: The method of any one of Examples 1 to 9, wherein the wireless signal and the second wireless signal are ultra-wideband (UWB) signals.
[0068] Example 10: A method of any one of Examples 1 to 9, wherein one or more intermediate paths include one or more intermediate labels between the computing device and the target label and a direct path from the computing device to the target label, wherein determining the target label distance and the target label direction from the computing device to the target label further includes: applying a loss function algorithm by the computing device, the loss function algorithm applying weights to each term of the equation loss function algorithm to determine the target label distance and the target label direction, wherein each term of the equation represents each of the one or more intermediate paths to the target label or at least one of the direct paths to the target label.
[0069] Example 11: A computing device includes: a wireless transceiver for broadcasting a message via a wireless signal to locate a target tag; a memory; and one or more processors operatively coupled to the memory and configured to: receive a plurality of intermediate responses from one or more intermediate tags in response to the broadcast message; determine a first hop direction and a first hop distance to at least one 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 the target hop distance from the intermediate tag to the target tag.
[0070] Example 12: A computing device of Example 11, wherein the one or more processors are further configured to: receive a target response including range data relative to the target tag in response to the message; 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 responses from each of the one or more intermediate tags.
[0071] Example 13: A computing device of Example 12, wherein the one or more processors are further configured to: determine the distance to the target tag and the distance to each first hop based on the corresponding round-trip time (RTT) of the radio signals to and from the computing device to the target tag and each first hop intermediate tag.
[0072] Example 14: A computing device of Example 12, wherein the one or more processors are further configured to: use the range data to determine the target hop distance from each intermediate tag to the target tag based on the round-trip time (RTT) of a second radio signal from each intermediate tag to the target tag.
[0073] Example 15: A 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, the target tag identifier being used by each intermediate tag to transmit a second message via a second wireless signal, and the target tag identifier being configured to communicate only with the target tag.
[0074] Example 16: A computing device according to any one of Examples 12 to 15, wherein the one or more processors are further configured to: select two or more intermediate labels from the plurality of intermediate labels to determine the target label distance based at least on a threshold distance from the target label to each of the plurality of intermediate labels or a direction from the computing device to each of the plurality of intermediate labels.
[0075] Example 17: A computing device of any one of Examples 12 to 16, wherein the intermediate response of 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 a target hop distance from the second intermediate tag to the target tag.
[0076] Example 18: A computing device of any one of Examples 12 to 16, wherein, in order to determine the target label distance and the target label orientation, the one or more processors are further configured to: determine the target label distance and the target label orientation from the computing device to the target label based on the plurality of intermediate responses from each of the one or more intermediate labels, wherein the intermediate responses include orientations from the one or more intermediate labels to another intermediate label and the target label.
[0077] Example 19: A computing device according to any one of Examples 11 to 18, wherein the wireless signal and the second wireless signal are ultra-wideband (UWB) signals.
[0078] Example 20: A computing device of Example 19, wherein one or more intermediate paths include one or more intermediate labels between the computing device and the target label and a direct path from the computing device to the target label, wherein the target label distance and the target label direction from the computing device to the target label are determined, and the one or more processors are further configured to: apply a loss function algorithm that applies weights to each term of an equation loss function algorithm to determine the target label distance and the target label direction, wherein each term of the equation represents each of the one or more intermediate paths to the target label or at least one of the direct paths to the target label.
[0079] Example 21: A computer-readable storage medium encoded with instructions that cause one or more processors of a computing device to execute the method described according to any one of Examples 1 to 10.
[0080] Example 22: A computing device including means for performing the method described in any one of Examples 1 to 10.
[0081] By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage, disk storage or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and is accessible by a computer. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to non-transient tangible storage media. The disks and optical discs used herein include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, wherein disks typically reproduce data magnetically, while optical discs reproduce data optically via laser. Combinations of the above should also be included within the scope of computer-readable media.
[0082] The techniques described in this disclosure can be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, aspects of the described techniques can 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, and any combination of such components. The terms "processor" or "processing circuitry" generally refer to any of the aforementioned logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry. Control units, including hardware, can also perform one or more of the techniques disclosed herein.
[0083] Such hardware, software, and firmware can be implemented within the same device or in separate devices to support the various technologies described in this disclosure. Furthermore, any described unit, module, or component can be implemented together or separately as discrete but interoperable logical devices. Describing 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 implemented by separate hardware, firmware, or software components. Rather, the functionality associated with one or more modules or units can be performed by separate hardware, firmware, or software components, or integrated within common or separate hardware, firmware, or software components.
[0084] Various examples of the invention have been described. These and other examples are within the scope of the appended claims.
Claims
1. A method comprising: The target tag is located by a computing device broadcasting messages via wireless signals. In response to the broadcast message, receive multiple intermediate responses from one or more intermediate tags; The computing device determines the first hop direction and first hop distance to at least one of the one or more first hop intermediate tags based on the plurality of intermediate responses; as well as The computing device determines the target tag distance and 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 the target hop distance from the intermediate tag to the target tag and direction data associated with the target hop from the intermediate tag to the target tag.
2. The method according to claim 1, further comprising: In response to the message, a target response including range data relative to the target label is received; as well as The computing device determines the target tag distance and the target tag orientation from the computing device to the target tag based on the target response and the plurality of intermediate responses from each of the one or more intermediate tags.
3. The method according to claim 1, further comprising: The computing device determines the distance to the target tag and the distance to each first hop based on the corresponding round-trip time of the wireless signal from the computing device to the target tag and from the computing device to each first hop intermediate tag.
4. The method according to claim 1, further comprising: The computing device uses the range data to determine the target hop distance from each intermediate tag to the target tag based on the round-trip time of the second wireless signal from each intermediate tag to the target tag.
5. The method according to claim 1, wherein, The wireless signal is a first wireless signal, and the method further includes: The message is encrypted, and the encrypted message includes a target tag identifier, which is used by each intermediate tag to transmit a second message via a second wireless signal, and the target tag identifier is configured to communicate only with the target tag.
6. The method of claim 1, further comprising: Two or more intermediate labels are selected from the plurality of intermediate labels to determine the target label distance based on at least one of a threshold distance from the target label to each of the plurality of intermediate labels and a direction from the computing device to each of the plurality of intermediate labels.
7. The method according to claim 1, wherein, The intermediate response of one or more of the intermediate tags further includes range data associated with the third hop distance from each first hop intermediate tag to the second hop intermediate tag and the target hop distance from the second hop intermediate tag to the target tag.
8. The method according to claim 1, wherein, Determining the target label distance and the target label orientation further includes: The target tag distance and the target tag direction from the computing device to the target tag are determined based on the plurality of intermediate responses from each of the one or more intermediate tags, wherein the intermediate responses include directions from one or more intermediate tags to another intermediate tag and the target tag.
9. The method according to claim 5, wherein, The wireless signal and the second wireless signal are ultra-wideband signals.
10. The method according to any one of claims 1 to 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 includes: The computing device applies a loss function algorithm that applies weights to each term of the equation to determine the target label distance and the target label direction, wherein each term of the equation represents at least one of the one or more intermediate paths to the target label or at least one of the direct paths to the target label.
11. A computing device, comprising: A wireless transceiver, the wireless transceiver being used to broadcast messages via wireless signals to locate a target tag; Memory; as well as One or more processors, said one or more processors being operatively coupled to the memory and configured to: In response to broadcasting the message, receive multiple intermediate responses from one or more intermediate tags; Based on the plurality of intermediate responses, the first hop direction and first hop distance to at least one of the one or more first hop intermediate labels are determined; as well as The target tag distance and target tag direction from the computing device to the target tag are determined 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 the target hop distance from the intermediate tag to the target tag and direction data associated with the target hop from the intermediate tag to the target tag.
12. The computing device according to claim 11, wherein, The one or more processors are further configured to: In response to the message, a target response including range data relative to the target label is received; as well as The target tag distance and the target tag orientation from the computing device to the target tag are determined based on the target response and the plurality of intermediate responses from each of the one or more intermediate tags.
13. The computing device according to claim 11, wherein, The one or more processors are further configured to: Based on the corresponding round-trip time (RTT) of the wireless signals to and from the computing device to the target tag and each first-hop intermediate tag, the distance to the target tag from the computing device and the distance to each first hop are determined; as well as Using the range data, the target hop distance from each intermediate tag to the target tag is determined based on the round-trip time (RTT) of the second radio signal from each intermediate tag to the target tag.
14. The computing device according to any one of claims 11 to 13, wherein, The intermediate response of one or more of the intermediate tags further includes range data associated with the third hop distance from each first hop intermediate tag to the second hop intermediate tag and the target hop distance from the second hop 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 perform the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Cooperative localisation of radio apparatuses
CN103444246A
Positioning method
WO2017051062A1