Positioning system and method for low-power infrastructure devices
Patent Information
- Application Number
- JP2026512320
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-22
- Filing Date
- 2023-08-29
- Publication Date
- 2026-09-08
Smart Images

Figure 2026530453000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to wireless positioning and ranging techniques, and more specifically to positioning systems and methods for low-power infrastructure devices. [Background Art]
[0002] Real-Time Location Systems (RTLS) are increasingly being adopted in many industrial fields to track the position of assets. Assets may be inventory (e.g., raw materials, work-in-progress, finished products), containers for storing such inventory, equipment (e.g., welding stations, power tools, forklifts) and personnel. RTLS have a wide range of applications, including real-time inventory management, automatic process tracking, and preventing personnel from entering secure or dangerous areas. Economic benefits include improved efficiency, increased productivity, reduced vulnerability to human error, and ensuring employee safety.
[0003] Some low-accuracy RTLS are based on signal strength or Received Signal Strength Indication (RSSI). The distance between an anchor and a tag is estimated by comparing the strength of a radio signal transmitted from a transmitter (either a tag or an anchor) with the signal strength at a receiver (either an anchor or a tag). Signal strength attenuation serves as a measure of the distance over which the signal has propagated. The problem with this approach is that any object present on the line of sight between the transmitter and the receiver disturbs the relationship between signal strength attenuation and distance, which results in increased inaccuracy in distance estimation and larger errors in position estimation.
[0004] Higher accuracy RTLS systems are based on the time it takes for a signal to travel from the transmitter (tag or anchor) to the receiver (anchor or tag). The signal can be radio frequency (implemented as ultra-wideband radio, i.e., UWB), ultrasound, or other types. Such systems are collectively referred to as Time-of-Flight (TOF) systems. In a ToF system, the distance a message travels through a given medium can be determined by multiplying the flight time of the radio message by the propagation speed in that medium. For example, if a message propagates through air using a radio frequency signal, the propagation speed is the speed of light in air. In real-world environments, signals often need to pass through media with different propagation speeds, such as plastic, water, or objects made of other materials. However, since air is usually the primary medium in the propagation path, the resulting loss of accuracy is generally small.
[0005] ToF systems are further classified into two-way ranging (TWR) and time difference of arrival (TDoA) systems.
[0006] In the TWR method, the flight time between the transmitter and receiver is measured directly and then converted to distance using the method described above. Since the transmitter and receiver are not usually time-synchronized, in many cases the first receiver sends a message back to the original transmitter, causing the transmitter to function as a new receiver. Therefore, the message is transmitted round trip, hence the name Two-Way Ranging. The original transmitter can calculate the one-way flight time by subtracting the original transmission time from the new reception time, and then subtracting the processing time required by the original receiver between the original reception time and the new transmission time from this time difference. This processing time is the value notified from the original receiver to the new receiver in the reply message. Then, considering the fact that the message traveled the distance between the devices round trip, this calculation result is divided by 2. The TWR method has several drawbacks, such as increased total energy consumption due to the need to send and receive two messages for each distance estimation, and increased errors, which are at least partly due to the additional temporal uncertainty associated with double transmission.
[0007] The TDoA method overcomes some of the shortcomings of the TWR method by requiring only a single transmission per distance estimate. A tag sends a message to multiple anchors within wireless range. Each anchor receives the tag's message at a different time, and this difference in arrival time is due to the difference in distance between the tag and each anchor. In state-of-the-art TDoA methods, all anchor clocks are synchronized, allowing for the establishment of a common reference time among anchors. The TDoA method has a significant drawback: the anchor clocks must have the same time reference (i.e., they must coincide with a common absolute time). Furthermore, the clocks must maintain synchronization at all times. These requirements are technically complex and costly to implement, conflicting with the need to keep anchors low-cost. The TDoA method generally relies on clock synchronization methods that use atomic clocks or require anchors to be constantly active to receive anchor synchronization messages. The active state requires a considerable amount of power and is unsuitable for battery-powered devices. Such batteries are either very large and therefore uneconomical and bulky, or they only last for a few weeks or months before needing to be replaced or recharged, which is impractical and costly to implement. As a result, anchors in conventional TDoA solutions are powered by an external power source, either by bringing the main power supply to the anchor, using a power distribution network such as Power-over-Ethernet (PoE), or using other wired power supply means.
[0008] Providing wired power to anchors is a significant burden for any operational setup. Labor and material costs typically amount to two to five times the price of the anchor equipment itself. Furthermore, the long construction period required for installing wired infrastructure often clashes with ongoing work on site. Stopping these operations during the installation period incurs additional opportunity costs. Battery-powered solutions that operate for several years without requiring battery replacement or recharging can solve these problems.
[0009] This background information is provided to disclose information that the applicant considers to be relevant. Nothing of the foregoing information constitutes prior art or forms part of the general well-known art in the relevant field, nor should it be construed as such. [Overview of the project]
[0010] A simplified overview of the general inventive concepts described herein is provided below to give a basic understanding of some aspects of this disclosure. This overview is not intended to be a comprehensive description of this disclosure, nor is it intended to limit any important or essential elements of the embodiments of this disclosure, or to define a scope beyond what is explicitly or implicitly described in the following detailed description and claims.
[0011] There is a need for positioning systems and methods for low-power infrastructure devices. Several aspects of this disclosure provide embodiments of such systems and methods.
[0012] According to one embodiment, a computer implementation method for locating an asset is provided, comprising the steps of: a serving anchor having one or more anchor ranging messages during the ranging slot time period of a serving anchor having a specified location; one or more participating anchors within the communication range of the serving anchor each sending a reply ranging message during the ranging slot time period; the serving anchor recording first timing data relating to the time when the multiple ranging messages were transmitted and the time when each participating anchor received a reply ranging message from the serving anchor; a tag geographically associated with an asset recording second timing data relating to the time when one or more anchor ranging messages and each reply ranging message were received by the tag during the ranging slot time period of the serving anchor; and estimating the location of the tag, either by a central entity alone or by a combination of the serving anchor and the central entity, based on the first and second timing data.
[0013] In one embodiment, estimation is performed by determining, at least in part, the time difference of departure (TDoD) of each reply ranging message received by the serving anchor and the time difference of arrival (TDoA) of the reply ranging messages sent from each participating anchor and received by the tag, calculating the time difference of flight (TDoF) from the TDoD and TDoA, and calculating the tag's position using the TDoF.
[0014] In one embodiment, one or more anchor distance measurement messages include a Range Slot Start (RSS) message sent at the start of the distance measurement slot time period, and the reply distance measurement message is a Range Slot Timing (RST) message.
[0015] In one embodiment, one or more anchor ranging messages further include a ranging slot end (RSE) message sent at the end of the ranging slot time period, and in the calculation step, the clock skew between the serving anchor and the tag is corrected in the central entity by comparing the time difference between when the RSS and RSE were sent by the serving anchor and when the RSS and RSE were received by the tag.
[0016] In one embodiment, the serving anchor is selected from among a plurality of anchors by a tag.
[0017] In one embodiment, selection is made by tagging based on one or more of the following criteria: the strongest signal criterion, the line-of-sight quality criterion, the fastest ranging slot time criterion, or the criterion with the largest number of anchors participating in the ranging slot time period.
[0018] In one embodiment, each of the multiple anchors selects a corresponding distance measurement slot time period.
[0019] In one embodiment, the method further includes the steps of: before transmission, each anchor periodically transmits a discovery message encoding a time delay between the transmission time of the discovery message and the start time of the ranging slot time period corresponding to the anchor; and each neighboring anchor within the communication range of the anchor records the start time.
[0020] In one embodiment, if a neighboring anchor detects that the distance measurement slot time period corresponding to an anchor conflicts with the distance measurement slot time period corresponding to a neighboring anchor, the neighboring anchor selects a new corresponding distance measurement slot time period. In one embodiment, power is saved by turning on the serving anchor's transceiver at the start of the distance measurement slot time period and turning it off at the end of the distance measurement slot time period.
[0021] In another embodiment, a system for locating an asset comprises a tag geographically associated with the asset and a plurality of anchors, each having a designated location, wherein the tag and each anchor each comprise a memory and a processor operably coupled to a transceiver, a serving anchor designated by the plurality of anchors configured to transmit one or more anchor ranging messages during the ranging slot time period of the serving anchor, one or more participating anchors within the communication range of the serving anchor configured to transmit reply ranging messages at predetermined times during the ranging slot time period, and the serving anchor records the time when one or more anchor ranging messages were transmitted and each participating anchor The system is further configured to record in the serving anchor's memory a first timing data relating to the time a reply ranging message is received from the car; the tag is further configured to record in the tag's memory a second timing data relating to the time one or more anchor ranging messages and each reply ranging message are received by the tag during the ranging slot time period; the system further comprises a central entity communicably coupled to the tag and the serving anchor via a network; and the central entity alone or a combination of the serving anchor and the central entity is further configured to estimate the tag's location based on the first and second timing data.
[0022] In one embodiment, estimation is performed by determining, at least in part, the time difference of departure (TDoD) of each reply ranging message received by each participating anchor and the time difference of arrival (TDoA) of the reply ranging messages sent from each participating anchor and received by the tag, calculating the time difference of flight (TDoF) from the TDoD and TDoA, and calculating the tag's position using the TDoF.
[0023] In one embodiment, the one or more anchor ranging messages comprise a Ranging Slot Start (RSS) message transmitted at the start of a ranging slot time period, and the reply ranging message is a Ranging Slot Timing (RST) message.
[0024] In one embodiment, the one or more anchor ranging messages further comprise a Ranging Slot End (RSE) message transmitted at the end of a ranging slot time period, and in the calculation, the clock skew between the serving anchor and the tag is corrected at a central entity by comparing the time difference between transmission of the RSS and the RSE by the serving anchor and the time difference between reception of the RSS and the RSE by the tag.
[0025] In one embodiment, the serving anchor is selected from a plurality of anchors by the tag.
[0026] In one embodiment, the selection is performed by the tag based on one or more of: the strongest signal criterion, line-of-sight quality criterion, earliest ranging slot time criterion, or the criterion that the number of anchors participating in the ranging slot time period is the largest.
[0027] In one embodiment, each anchor of the plurality of anchors selects a corresponding ranging slot time period respectively.
[0028] In one embodiment, prior to transmission, the system is further configured such that each anchor periodically transmits a discovery message encoding a time delay between a transmission time of the discovery message and a start time of the ranging slot time period corresponding to the anchor, and is further configured such that each neighboring anchor within the communication range of the anchor records the start time.
[0029] In one embodiment, each neighboring anchor is configured to select a new corresponding ranging slot time period when it detects that the ranging slot time period corresponding to the anchor collides with the ranging slot time period corresponding to the neighboring anchor.
[0030] In one embodiment, the transceiver of the serving anchor is configured to be turned on at the start of the ranging slot time period and turned off after the end of the ranging slot time period, so that power is saved.
[0031] Other aspects, features and / or advantages will become more apparent upon reading the following non-limiting description of specific embodiments, which is given by way of example only, with reference to the accompanying drawings.
[0032] Embodiments of the present disclosure are described below by way of example only with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] [Figure 1] FIG. 1 is a schematic diagram of a positioning system for positioning a plurality of tags over a wireless network via a plurality of anchors, in accordance with one embodiment. [Figure 2] FIG. 2 is a schematic diagram showing a wireless device used as either an anchor or a tag in the system of FIG. 1, in accordance with one embodiment. [Figure 3A] FIG. 3 is a schematic diagram showing an example of a ranging event performed by the system of FIG. 1, in accordance with one embodiment. [Figure 3B] FIG. 4 is a schematic diagram showing an example of a ranging event performed by the system of FIG. 1, in accordance with one embodiment. [Figure 3C] FIG. 5 is a schematic diagram showing an example of a ranging event performed by the system of FIG. 1, in accordance with one embodiment. [Figure 3D] FIG. 6 is a schematic diagram showing an example of a ranging event performed by the system of FIG. 1, in accordance with one embodiment. [Figure 4]This is a schematic diagram showing an example of the timing of distance measurement events, as shown in Figures 3A to 3D, according to one embodiment. [Figure 5] This is a schematic diagram illustrating how a tag selects a serving anchor, according to one embodiment. [Figure 6A] This is another configuration diagram of the positioning system shown in Figure 1, according to one embodiment. [Figure 6B] This is a schematic diagram showing the discovery process used in this system according to one embodiment. [Figure 6C] This is a schematic diagram illustrating a distance measurement process according to one embodiment. The elements in each figure are shown for simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some elements in the figures may be exaggerated relative to others to facilitate understanding of the various embodiments of this disclosure. Furthermore, elements that are useful or necessary in commercially viable embodiments but are well-known may be omitted to more clearly illustrate the various embodiments of this disclosure. [Modes for carrying out the invention]
[0034] Various embodiments and aspects of this specification will be described with reference to the details set forth below. The following description and drawings are illustrative of this specification and should not be construed as limiting this specification. Numerous specific details are provided to provide a full understanding of the various embodiments of this specification. However, in some cases, details that are well known or prior art are omitted in order to briefly describe the embodiments of this specification.
[0035] To provide examples of embodiments of the systems disclosed herein, various apparatuses and processes are described below. No embodiment described below limits the claimed embodiments, and the claimed embodiments may encompass processes or apparatuses different from those described below. The claimed embodiments are not limited to apparatuses or processes having all the features of any one apparatus or process described below, nor are they limited to features common to some or all of the apparatuses or processes described below. Some apparatuses or processes described below may not constitute any embodiment of the claimed invention.
[0036] Furthermore, numerous specific details are provided to provide a thorough understanding of the embodiments described herein. However, those skilled in the art will understand that the embodiments described herein can be carried out without using these specific details. In other cases, well-known methods, procedures, and components are not described in detail so as not to obscure the embodiments described herein.
[0037] In this specification, components may be described as “configured to” or “configured for” to perform one or more functions. Generally, a component configured to perform a function, or configured for the performance of a function, is capable of, suitable for, adapted to, or otherwise capable of performing the function.
[0038] Systems and methods for locating assets on a wireless network optimized for low-power (e.g., battery-powered) infrastructure devices are disclosed according to different embodiments. These systems and methods provide the ability to locate assets using wireless tags by exchanging multiple ranging messages between a serving anchor and multiple participating anchors. Advantageously, the tag itself does not need to transmit ranging messages, but only needs to receive messages exchanged between serving and participating anchors within wireless range. Timing information or data from these messages recorded by the tag and serving anchors is used to calculate the tag's location. Furthermore, these systems and methods do not require all devices in the network to be synchronized before performing ranging events.
[0039] Figure 1 shows a positioning system 100 comprising multiple tags (three tags T1-T3 shown here for illustrative purposes only) and anchors (anchors A1-A4 also shown for illustrative purposes only) that are wirelessly connected within a ranging network 102. The terms “anchor” and “tag” refer to roles assigned to wireless devices 202, respectively, as schematically shown in Figure 2. Each wireless device 202, regardless of its role, comprises a memory 206 and a processor 204 coupled to a wireless network adapter 208. The wireless network adapter 208 comprises a wireless transceiver capable of transmitting and receiving wireless signals or messages to and from neighboring devices via several wireless communication protocols / systems known in the art. These include, but are not limited to, Bluetooth / BLE (Bluetooth Low Energy), WiFi (Wi-Fi), Ultra-Wide-Band (UWB), and cellular communications. Each wireless device 202 also has access to an internal clock 210, which is used to record timestamps of when different messages were sent and / or received. These also typically have an internal power supply 212, such as a battery, but the system 100 can function similarly even with battery-less devices.
[0040] In some embodiments, the wireless device 202 may further comprise one or more sensors 220 operably coupled to the processor 204. These may include, but are not limited to, motion sensors, temperature sensors, or any other type of sensor known in the art.
[0041] An "anchor" refers to a wireless device 202 that has a known fixed location during the duration of at least one or more ranging events, so that its location can be used as a reference by other devices in the network, while a "tag" is a wireless device 202 that is typically attached to or spatially associated with an asset, and whose function is to track the physical location of the asset within the network.
[0042] In some embodiments, the memory 206 of the wireless device 202 may include a role module 214 containing instructions necessary for the device 202 to perform the assigned tag or anchor role. In some embodiments, the role module 214 may be switchable between anchor and tag roles, and / or may allow the wireless device 202 to perform both roles simultaneously. Switching between anchor and tag roles may be based on any type of trigger, including triggers generated outside or inside the wireless device 202. In some embodiments, triggers may be based on predefined conditions, user input, sensor input, or detected network changes, including changes in neighboring devices detected by the wireless device 202. In some embodiments, the role assignment of the wireless device 202 and any changes thereto may be based on instructions received, for example, via a wireless network adapter 208.
[0043] As an example, the wireless device 202 may be attached to a truck / trailer, etc. When the truck approaches the loading area, the wireless device 202 on the truck acts as a tag and works in conjunction with an anchor at the site to determine its location. In this way, system 100 establishes the vehicle's position. Next, when tagged assets are loaded onto the truck, the wireless device 202 on the vehicle acts as an anchor and is used by the tag loaded onto the truck to determine the exact time when the tagged assets were loaded.
[0044] In another, non-limiting example, the wireless device 202 could be attached to a mobile device, such as a medical scanner in a hospital. The device 202 could be configured to act as a tag to estimate the location of the device, but at the same time, it could also be configured to act as an anchor to determine when a person carrying the tag approaches the device.
[0045] Furthermore, as will become clear below, in different embodiments, system 100 is configured to be most advantageously used with low-power devices. The anchors can be battery-powered and can operate for several years with economical batteries of a reasonable size. This is achieved by improving several of the most advanced technologies to date. However, the power consumption reduction function that this system provides to conventional technologies can be equally advantageously used with non-battery devices. In some embodiments, a mixed configuration of battery-powered and non-battery devices can also be adopted. The anchors and tags can send and receive signals or messages with neighboring devices within wireless communication range, thereby forming a network 102.
[0046] The system 100 further includes a central entity (CE) 104 configured to perform ranging calculations in at least part of the process. In some embodiments, the central entity 104 may take the form of one or more servers located remotely, for example, as part of a cloud infrastructure. However, in other embodiments, one of the devices (e.g., a tag or anchor) may be configured to function as the CE 104 in at least part of the process. Typically, the CE 104 comprises memory 108 and one or more processors 106 operably coupled to a network adapter 110. The network adapter 110 enables the CE 104 to receive messages directly or indirectly from one or more devices via one or more networks 112. The networks 112 include any combination of wired and wireless networks and may include wide-area networks such as the Internet. In some embodiments, tags and anchors may use a different communication protocol to communicate with the central entity 104 (e.g., network 112) than the wireless communication (e.g., network 102) used for ranging and discovery as described below. Furthermore, the CE104 typically stores in its memory 108 a list 114 of anchors provided by the system 100 and anchor location information 116. In some embodiments, the anchor locations may be stored in the form of a floor plan or the like. The central entity 104 also stores in its memory a positioning engine 118 containing instructions necessary to calculate the location of each tag according to the method described below.
[0047] In some embodiments, the wireless device 202 (acting as either a tag or an anchor, or both) may further include in its memory 206 a computing engine 216 configured to perform at least a portion of the localization calculations. In some embodiments, these calculations may be performed using a list 218 of anchor-to-anchor distances, also stored in memory 206.
[0048] In previous cutting-edge "Time Difference of Arrival (TDoA)" systems, the anchor was typically kept in a constantly active "on" state, within the wireless communication range (for example, 20m x 20m = 400m). 2 The maximum tag density within a given area is limited by the probability of collisions occurring between two tags transmitted simultaneously. For example, in a system where 100 tags transmit at 1 Hz and each message requires 1 ms of airtime, the probability of each transmitted message colliding with another message is roughly 5%. Such collisions significantly reduce the effectiveness of the system as the number of tags present in the same radio environment increases.
[0049] In contrast, in battery-powered networks, anchors are typically duty cycle controlled to reduce their power consumption. Using the example above, in a 1Hz system, the anchor might only be active for 1% of the time, or 10ms out of a second. Returning to the previous example, if 100 tags send 1ms messages within the anchor's 10ms duty cycle activation time, almost all messages will collide, which is unsuitable for practical applications.
[0050] In contrast, system 100 reverses the roles in the TDoA network. Anchors are configured to send messages, and tags are configured to receive these messages. This scheme is called reverse TDoA. In such a system, the aforementioned limitations on the number of tags (e.g., tag density) within the wireless communication range are eliminated. This allows system 100 to operate at a much higher tag density compared to known TDoA systems.
[0051] Elimination of clock synchronization In conventional TDoA-based systems, the anchor must have a synchronized clock. This is typically achieved by one of the following methods: 1. Atomic Clocks: This type of clock possesses extremely high accuracy and can maintain within system tolerances over long periods. However, such atomic clocks are expensive. 2. Wireless synchronization method: The network needs to be constantly synchronized at a frequency faster than the time it takes for the local clock to drift outside the acceptable range. This synchronization process requires a large amount of power, which hinders battery operation. Furthermore, this synchronization often uses wireless airtime (e.g., bandwidth), resulting in a reduction of airtime available within the network for other purposes such as location determination.
[0052] In different embodiments, the reverse TDoA scheme used in system 100 eliminates the requirement for clock synchronization by having each anchor within wireless communication range receive the same message from other anchors, in addition to the tag receiving the anchor signal. The mechanism by which this scheme eliminates the need for expensive clock synchronization is described below.
[0053] In some embodiments, the above principle is implemented by the following two methods. Discovery: Identifying devices within the wireless communication range of a specific device. • Ranging: Determining the distance between an anchor and a tag.
[0054] Discovery In system 100, each anchor is configured to operate within the network on a specific duty cycle, which is the period during which the anchor can perform a new location or ranging event. For example, let's assume a duty cycle of 10 seconds. Within this period, the anchor is active only for a limited time to conserve battery power. This active time is called the anchor's ranging slot. In some embodiments, the ranging slot is randomly selected by each anchor.
[0055] Discovery enables anchors and tags to detect other anchors within wireless range and the timing of their respective ranging slots. This is a prerequisite for the ranging mechanism, which is further described below, to function. In some embodiments, discovery is performed by each anchor periodically or periodically advertising to other anchors and tags within wireless range via a wireless discovery signal or message to inform them that it is present or active in the network. This message may be transmitted frequently (for example, at 4 Hz as an example, but not limited to) so that any device on the network that wants to discover neighboring devices can discover all nearby anchors by receiving it for only a short time. This discovery message is based on the internal clock of each device. In some embodiments, the discovery message may include: 1. Device source address 2. Destination address set for broadcast 3. Display in ticks (e.g., a predefined time unit used as time resolution within the network) the scheduled time when the ranging slot will be executed relative to the time the discovery signal was transmitted.
[0056] Each anchor is also responsible for periodically scanning for discovery signals or messages from neighboring anchors within the wireless communication range of the network. The anchor then maintains in its memory a database of its neighboring anchors, along with the time until the scheduled start time of each neighboring anchor's ranging slot, as a time difference (offset) relative to its own clock.
[0057] If a collision occurs between the ranging slots of neighboring anchors, the anchor selects a new ranging slot. For example, if an anchor detects a ranging signal or message from another anchor at a time unrelated to its own ranging slot, the anchor determines that its ranging slot is in conflict with the other anchor's ranging slot. The anchor randomly or according to another decision mechanism selects a different slot and continues this process until no further collisions occur with the ranging slots of other anchors. However, two anchors may have overlapping ranging slots as long as they are outside each other's wireless communication range.
[0058] Distance measurement Unlike traditional TDoA systems, during distance measurement, tags do not send distance-related messages themselves. Instead, each tag selects the "optimal" anchor for itself as its serving anchor. The serving anchor is the anchor from which the tag receives its distance measurement slot.
[0059] In some embodiments, the anchors that serve as serving anchors for the tag may be determined by the tag based on one or a combination of the following criteria: received signal strength, line-of-sight quality, number of neighboring anchors, time to the anchor's ranging slot, and other criteria.
[0060] Strongest Signal In this method, the tag checks messages sent by all anchors and selects the anchor with the highest signal strength. Selecting the nearest anchor has the advantage of increasing the likelihood that the ranging process will be completed successfully without being hindered by errors in wireless transmission.
[0061] Line-of-sight quality In this method, the tag refers to a parameter that may be available in wireless transmission, indicating how clear the line of sight was along the transmission path (i.e., how unobstructed it was by objects). Selecting this anchor has the advantage of increasing the likelihood that the ranging process will be completed successfully without being hindered by errors in wireless transmission.
[0062] Maximum number of anchors participating in the exchange. In this method, the tag selects the anchor that receives the most anchors within the ranging slot. This strategy ensures that a large number of anchors are available for (reverse) TDoA calculation by the central entity 104.
[0063] Earliest Ranging Slot In this method, the tag selects the anchor that can perform the ranging slot first. This strategy is ideal for applications where the tag is moving at high speed, as it prevents the tag from moving too far away from the anchor.
[0064] In some embodiments, if a tag selects a particular anchor as a serving anchor, and determines that the quality of this anchor is insufficient, it can switch to the ranging slot of another anchor.
[0065] When a tag (for example, tag T1 shown in Figures 3A to 3D) selects a serving anchor (for example, A1 in the same figures), the tag activates its receiver for the duration of the ranging slots of these anchors. If a tag selects an anchor as a serving anchor and a neighboring anchor is aware of the serving anchor's ranging slots, ranging can be performed by the tag receiving messages exchanged between the serving anchor and the neighboring anchor, as described below.
[0066] Furthermore, each transceiver at each anchor and tag is coupled to a high-speed clock with a certain resolution. For example, if the resolution is 15 picoseconds (ps), the clock ticks every 15 ps in this example. When a message is received, the transceiver records the message content and reception time with a resolution of 15 ps.
[0067] At the start of a ranging slot, A1 activates its transceiver and transmits a radio Ranging Slot Start (RSS) message 302 indicating the start of the ranging slot. The RSS message 302 is received by each neighboring anchor (e.g., A2, A3, and A4) and a tag (e.g., tag T1 here) that uses anchor A1 as a serving anchor, as shown in Figure 3A. The RSS message may include, for example: 1. Anchor source address 2. Destination address set for broadcast
[0068] All neighboring anchors within wireless communication range (for example, anchors A2, A3, and A4 in Figures 3A to 3D) participate in the ranging event and are therefore referred to as participating anchors. During the ranging slot of anchor A1, they transmit messages called Range Slot Timing (RST) messages (such as RST messages 304, 306, and 308 in Figure 3B). In some embodiments, the RST messages may include the following: 1. Source address of participating anchor 2. The destination address set to the address of the anchor that owns the distance measuring slot (e.g., Anchor A1)
[0069] In some embodiments, each participating anchor may select a random time within the serving anchor's ranging slot to send an RST message, but other scheduling configurations may also be considered.
[0070] Anchor A1 activates its receiver for the entire duration of its ranging slot and stores or records the timing data of RST messages received from participating anchors A2, A3, and A4. Tag T1 also receives each RST message and similarly records the timing data associated with it.
[0071] In some embodiments, upon completion of a ranging slot, anchor A1 further transmits a Rangening Slot End (RSE) message (e.g., message 310 in Figure 3C) indicating the end of that ranging slot, which is received by tag T1. The RSE message may be used to compensate for clock skew between devices, as will be further described below, thereby improving localization accuracy. In some embodiments, the RSE message may include: 1. Anchor source address 2. Destination address set for broadcast
[0072] Figure 4 shows an exemplary schematic diagram illustrating the distance measurement between four anchors A1-A4, each having a different distance measurement slot, and tag T1, as well as the messages exchanged between them. In this example, each distance measurement slot is 25 ms long, and vertical arrows indicate messages sent from one device and received by another. The process described above can be repeated in each cycle (i.e., every 10 seconds in the example in Figure 4). Those skilled in the art will understand that other cycle times may also be considered.
[0073] In some embodiments, an anchor ignores any discovery messages received during its ranging slot. Furthermore, if it receives an RSS or RSE message from another anchor, or an RST message from a neighboring anchor whose destination address does not match the anchor's own address, it is highly likely that its ranging slot is in conflict with another anchor's slot. In such cases, the anchor stops receiving and finds another time for its slot. In some embodiments, this new time may be randomly selected within the serving anchor's ranging time.
[0074] As shown in Figure 3D, at the end of the ranging slot, anchor A1 transmits timing data 312 to the central entity 104. This timing data 312 includes timestamps of the time when the RSS message and, optionally, the RSE message were transmitted, as well as timestamps of the time each RST message received from each participating anchor during the ranging slot was received. Similarly, tag T1 also transmits timing data 314 to the central entity 104. This timing data 314 includes timestamps of the time each RSS message, and optionally, the RSE message and RST message, were received. This information is outside the scope of this disclosure and is transmitted via a data transmission mechanism that may rely on methods known to those skilled in the art. In the illustrated example, this transmission may be carried out at least in part via a wide area network 316 such as the Internet. In some embodiments, the data transmission may be carried out via one or more hubs, gateways, switches or such intermediate devices and may include one or more interconnected networks. The networks may be wired, wireless, or any combination thereof.
[0075] In some embodiments, the receiver for each anchor is disabled at other times (e.g., outside of the ranging and discovery slots).
[0076] In some embodiments, all location calculations may be performed in the central entity 104. Thus, upon receiving timing data 312 from serving anchor A1 and timing data 314 from tag T1, the central entity 104 can calculate the location of T1 and its geographically associated assets. In some embodiments, this is done as follows: 1. Determine the Time Difference of Departure (TDoD) of each RST message received by the serving anchor. This is because the distance between any two anchors is known to the central entity 104 based on the location where the anchors are installed, and therefore the propagation time between any two anchors can be calculated. 2. Calculate the time difference of arrival (TDoA) of RST messages sent from each participating anchor and received by the tag. 3. Calculate the Time Difference of Flight (TDoF) from the TDoD and TDoA mentioned above. 4. Calculate the tag position based on the aforementioned TDoF.
[0077] In some embodiments, the TDoD can be calculated from timing data 312. As described above, the central entity 104 receives the arrival times of all RST messages from other participating anchors from the serving anchor A1. Since these arrival times are measured by the serving anchor A1, they are relative to the clock of anchor A1, which can be arbitrarily assumed to start at the beginning of the ranging slot. The central entity 104 knows the distance between anchor A1 and each participating anchor A2, A3, and A4 (via anchor position information 116) and can calculate the time it took for each ranging slot timing message to propagate from the transmitting anchor to anchor A1. By subtracting this propagation time from the reception time at anchor A1, the departure transmission time of the message from each neighboring anchor is calculated. These departure times are relative to the clock of anchor A1 itself. Note that the selection of the starting point of the reference time is arbitrary, and only the time difference is important.
[0078] In some embodiments, the TDoA may be calculated using timing data 314 relating to the arrival time of all messages from participating anchors received by the tag. Here again, the selection of the starting point of the reference time is arbitrary, and only the time difference matters.
[0079] The central entity 104 subtracts the TDoD (calculated as described above) of each participating anchor from the TDoA at each anchor's tag. The resulting value is the sum of the distance (expressed in time) between tag (T1) and anchor A1, and the distance (expressed in time) between tag T1 and each neighboring anchor (A2, A3, and A4). At this point, the central entity has the TDoA information necessary to estimate the tag's position in two- or three-dimensional space using the positioning engine 118. The resulting system of equations can be solved to find the actual distance between the tag and each anchor.
[0080] In some embodiments, the above-described location calculation may be performed on two or more devices of system 100. Thus, in some cases, step 1 (calculation of TDoD) may be performed on a serving anchor or another anchor using the calculation engine 216 and the list of anchor-to-anchor distances 218. The TDoD obtained as a result of each RST message is then sent to the central entity 104, where steps 2-4 may be performed. Furthermore, those skilled in the art will understand that steps 1-4 may be further divided into substeps, and that at least some of these steps or substeps may be performed individually or in combination on different devices of system 100 (anchors, tags and / or the central entity), depending on their respective computing power and / or power requirements.
[0081] Clock skew between serving anchor and tag The anchor transmits both RSS and RSE messages during its distance measurement slot. The time difference between RSS and RSE is transmitted to the central entity 104, or is known to the central entity 104. The tag receives both RSS and RSE and also transmits the time difference between them to the central entity 104. If the anchor's clock and the tag's clock are operating at the same speed, the measured time differences will perfectly match. However, due to the structural characteristics of the clocks, they will not operate at the same speed, and one will operate slower than the other, resulting in clock skew.
[0082] In some embodiments, the central entity 104 can calculate how much the operating speeds of the two clocks differ by subtracting the time difference of one clock from the time difference of the other. This information is then used by the central entity 104 when calculating the TDoA of the tag. The central entity 104 effectively corrects the time difference calculated according to the method described above based on the calculated clock skew. As a result of this clock skew correction, timing accuracy is improved, which in turn improves distance estimation accuracy, i.e., localization accuracy.
[0083] In some embodiments, clock skew correction may be performed by a central entity at the cloud level, by comparing the time difference between RSS and RSE reported by the serving anchor with the same time difference measured by the tag. These signals provide a reference for the serving anchor.
[0084] As an example, let's assume the following: A1 (Serving Anchor) -RSS is sent at A1's clock time of 100. -RSE is transmitted at A1's clock time 200. Therefore, the central entity 104 can calculate that the clock of A1 advanced by 100 cycles during the transmission of RSS and RSE messages.
[0085] The central entity analyzes the time when RSS and RSE messages were received using tag T1. For example, assume the following: • The RSS feed was received at clock time 300 on T1. The RSE was received at clock time 410 on T1.
[0086] This means that T1's clock advanced 110 cycles while receiving the RSS and RSE from A1. Therefore, in this example, T1's clock is operating 10% faster than A1's. Thus, the central entity 104 realizes that each timestamp received from T1 needs to be corrected by approximately 10% to match A1's clock relative to the RSS. As an additional example, this correction could be performed as follows: Assume that the time T1 receives the RSS from A1 is 300 on T1's clock. Assume that the time T1 receives the RST from A2 is 340 on T1's clock. The central entity is aware that the clock of T1 is operating 10% faster than the clock of A1. Therefore, the central entity 104 can compensate by subtracting 10% from the time between the time when the RSS of A1 was received at T1 and the time when the RST of A2 was received at T1. Therefore, 340-300=40, and reducing this by 10% gives 36.36. The central entity 104 can use 36.36 as the time T1 receives A2's RST message, as recognized by A1's clock.
[0087] In some embodiments, clock skew correction is recalculated for each distance measurement slot. In some embodiments, other correction methods known to those skilled in the art may be used. For example, a moving average of clock skew can be used instead of a calculation based on a single measurement.
[0088] In some embodiments, the duration of interaction in the ranging slot needs to be compensated for clock skew between the serving anchor and the tag. Typically, it is not necessary to compensate for the clock skew of participating anchors, since only the serving anchor's clock is involved in the calculation. In fact, the clocks of other anchors and any clock skew between them and anchor A1 (in the example above) are irrelevant.
[0089] Clock: Anchor In some embodiments, the anchor needs to send an RST message during the distance measurement slot of a neighboring anchor, and therefore the clock skew relative to the neighboring anchor needs to be corrected or taken into consideration.
[0090] In some embodiments, this can be accomplished by the following: 1. The anchor transmits the discovery message accurately based on the determined frequency. 2. The neighboring anchor calibrates the skew between its own clock and the neighboring anchor's clock by performing the discovery receive window twice. This skew can then be taken into consideration when sending an RST message.
[0091] In some embodiments, the anchor may also periodically perform a discovery window to correct for skew that may vary with time and environmental conditions.
[0092] Clock: Tag In some embodiments, the tag may maintain synchronization with the serving anchor while actively receiving the serving anchor's ranging slots, while if the tag only needs to track a neighboring anchor (e.g., when stationary), the tag may use the same techniques as described for the anchor above.
[0093] Figure 5 shows another exemplary network 502 of anchors similar to system 100, where the anchors are physically arranged in a 5x5 grid. In this example, anchor A1 is located in the center of network 502. Tag T1 is near anchor A1 and correctly determines that A1 is the nearest anchor. Tag T2 is relatively far from anchor A1 but incorrectly determines that A1 is the nearest anchor. Circle 504 shows the radio communication range of anchor A1. All anchors contained within circle 504 participate in anchor A1's ranging slot. Because tag T1 is close to anchor A1, T1's radio communication range is approximately the same as A1's, and therefore it is likely to receive RST messages from all anchors within circle 504. The communication range of tag T2 is shown by circle 506. Because T2 does not have radio communication range for all anchors participating in anchor A1's ranging slot, it receives only a portion of the RST messages addressed to A1. For example, it can receive messages from only 8 of A1's neighboring anchors.
[0094] Referring to Figures 6A, 6B, and 6C, another, non-limiting example of a discovery and ranging protocol or method will be described according to one embodiment. While illustrative numerical values are used in this example, those skilled in the art will understand that this example is purely illustrative.
[0095] In this example, four anchors and one tag are shown. Anchors A1 to A4 are placed on a grid or array 600 with 10m intervals. Figure 6A shows the relative positions of each device, and Figures 6B and 6C show the communication timing between each device during the discovery period and the ranging period, respectively. In some embodiments, the following characteristics may apply to such a system. All anchors transmit discovery messages at 4Hz. Each anchor is responsible for periodically performing a discovery reception period. This allows the anchor to know which neighboring anchors are active in its vicinity. In this example, since the discovery message is broadcast at 4Hz, the discovery reception period can be set to be longer than 250ms.
[0096] Figure 6B shows A2 and A3 in the process of receiving discovery messages from all neighboring anchors.
[0097] Figure 6C shows how the ranging protocol is executed in the same exemplary configuration shown in Figures 6A and 6B. In Figure 6C, anchor A1 is performing the ranging slot, and tag T1 has selected anchor A1 as the serving anchor. At this time, the following processes are performed. 1. Anchor A1 initiates interaction by sending an RSS message. This message is received by T1. 2. Next, Anchor A3 sends an RST message. 3. Next, Anchor A2 sends an RST message. 4. Next, Anchor A4 sends an RST message. 5. Finally, A1 terminates the interaction by sending an RSE message, indicating that the ranging slot has ended.
[0098] Timing data collection during ranging slots in serving anchors and tags For illustrative purposes only, Figures 6A, 6B, and 6C assume that messages / signals propagate at 1 m / s and that the UWB clocks of all devices operate at 1 Hz. Table 1 below shows an example of a series of operations performed by tag T1 and its ranging anchor A1. The relative order in which these operations occur is shown as an example only. Furthermore, it is assumed that the clocks of each device operate at the same speed. Clock skew correction between devices will be discussed further below. [Table 1-1] [Table 1-2]
[0099] Table 1 above illustrates the following series of events / actions. 1. The process begins when A1 sends an RSS when its clock is 2. a. T1 has selected A1 as the serving anchor, and therefore receives data during this distance measurement slot. In this example, T1 is 3m away from A1 and receives the RSS at the time 35. Therefore, T1 records [RSS(A1)=35] in memory. 2. A3 sends an RST when A1's clock is 4. a. T1 receives A3's RST at time 46. T1 records this as [RST(A3)=46]. b. A1 receives A3's RST at the time 19. A1 records this as [RST(A3)=19]. 3. A2 sends an RST when A1's clock is 7. a. Since both T1 and A1 are 10m away from A2, they will receive A2's RST simultaneously. i.T1 records this as [RST(A2)=47]. ii. A1 records this as [RST(A2)=17]. 4. A4 sends an RST when the clock of A1 is 11. a. T1 receives A4's RST when the time is 48. T1 records this as [RST(A4)=48]. b. A1 receives A4's RST at the time 21. A1 records this as [RST(A4)=21]. 5.A1 sends an RSE message when the time is 24 and records it in memory as [RSE=24]. a. T1 receives an RSE at time 57. T1 records this as [RSE(A1)=57].
[0100] After this series of processes, both anchor A1 and tag T1 send their respective memory contents to a central entity (for example, on the cloud) using a WP network.
[0101] Conversion process of timing data to distance in the central entity The central entity receives the following timing data from each device. [Table 2]
[0102] Furthermore, the central entity has a table in its memory that lists the distances between anchors in the system. In this example, it is as follows: [Table 3]
[0103] In some embodiments, a central entity (e.g., a cloud system or other) first calculates when each RST message was actually sent, relative to the clock of A1, by subtracting the flight time to A1 (c) from the arrival time at A1 (a). 1. RSS is the reference. In this example, it was sent at time 2. 2. A2's RST was received at A1 at time 17. The central entity, knowing that A2 is 10m away from A1, calculates that it was sent from A2 at time 7. 3. A3's RST was received at A1 at time 19. The central entity, knowing that A3 is 15m away from A1, calculates that it was sent from A3 at time 4. 4. A4's RST was received at A1 at time 21. The central entity, knowing that A4 is 10m away from A1, calculates that it was sent at time 11. 5. The RSE was sent at time 24.
[0104] These RST transmission times on the A1 clock are shown as (d) in Table 4 below. At this stage, the central entity can calculate the departure time difference (TDoD(A1)) relative to the A1 clock by subtracting the A1 RSS time from the message departure time on the A1 clock. [Table 4]
[0105] By using the information from tag T1, the arrival time difference of RST messages (e.g., TDoA(T1) at T1) can be calculated by subtracting each arrival time from the reference time when T1 received the RSS (e.g., 35 on T1's clock). The results are shown in Table 5 below. [Table 5]
[0106] The central entity can calculate how much longer it took for the RST message to reach tag T1 compared to the time it took for the RSS of A1 to reach T1. This is called the Time Difference of Flight (TDoF(g)). The results are shown in Table 6 below. [Table 6]
[0107] As stated above, RSE is not essential in this calculation and is usually used for clock skew correction. These TDoFs are converted to distance differences using the propagation velocity. For the sake of simplicity, we assume that the propagation velocity is 1 meter per hour. In Table 7 below, the unknown distance between A1 and T1 is represented by X. [Table 7]
[0108] Conversion from distance to position The distance difference (h) calculated in Table 7 is input into the central entity's positioning engine (e.g., positioning engine 118) and used to calculate its position (e.g., X=3m).
[0109] The methods described herein may be implemented in different embodiments by software, hardware, or a combination thereof. The order of the methods may also be changed, and various elements may be added, rearranged, combined, omitted, or otherwise modified. All examples described herein are presented non-limitingly, and not limiting. Therefore, even for components described as single components herein, multiple instances may be provided. The boundaries of various components, operations, and data stores are somewhat arbitrary, and certain operations are shown only in the context of a particular exemplary configuration. Furthermore, structures and functions shown as individual components in exemplary configurations may be implemented as combined structures or components. These and other variations, modifications, additions, and improvements may fall within the scope of the described embodiments.
[0110] Any method, algorithm, implementation, or procedure described herein may include machine-readable instructions for execution by (a) a processor, (b) a controller, and / or (c) other suitable processing device. Any algorithm, software, or method disclosed herein may be embodied as software stored on a non-temporary tangible medium such as flash memory, a hard drive, or other memory device, but those skilled in the art will readily understand that all or part of an algorithm may be executed by a device other than a controller, and / or may be embodied in well-known ways by firmware or dedicated hardware (for example, by application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable logic devices (FPLDs), discrete logic, etc.). Furthermore, some or all of the machine-readable instructions shown herein may be executed manually rather than automatically by a controller, processor, or similar computing device or machine.
[0111] While this disclosure describes various embodiments for illustrative purposes, the description is not intended to be limited to these embodiments. Rather, the applicant's technical teachings described and illustrated herein encompass various alternative forms, modifications, and equivalents without departing from the general scope defined by the appended claims. The information shown and described in detail herein is sufficient to achieve the above-mentioned objectives of this disclosure, represents currently preferred embodiments of this disclosure, and is therefore representative of the subject matter broadly intended by this disclosure.
Claims
1. A computer implementation method for locating assets, The steps include: transmitting one or more anchor distance measurement messages during the distance measurement slot time period of a serving anchor, which is one of a plurality of anchors having predetermined positions; The steps include: one or more participating anchors within the communication range of the serving anchor each transmit a return distance measurement message during the distance measurement slot time period; The serving anchor records first timing data relating to the time when the plurality of distance measurement messages were transmitted and the time when the return distance measurement messages received by the serving anchor from each participating anchor were received. The steps include recording second timing data relating to the time when each of the one or more anchor distance measurement messages and each of the return distance measurement messages was received by the tag, using a tag geographically associated with the asset, during the distance measurement slot time period of the serving anchor; The steps include: estimating the position of the tag from the first timing data and the second timing data, either by the central entity alone or by a combination of the serving anchor and the central entity; Computer implementation methods, including those mentioned above.
2. The aforementioned estimation is, at least in part, The steps include determining the time difference of departure (TDoD) of each return distance measurement message received by the serving anchor and the time difference of arrival (TDoA) of the return distance measurement messages from each participating anchor received by the tag, A step of calculating the time difference of flight (TDoF) from the TDoD and TDoA, A step of calculating the position of the tag via the TDoF, The computer implementation method according to claim 1, including the method described in claim 1.
3. The one or more anchor distance measurement messages include a ranging slot start (RSS) message that is sent at the start of the ranging slot time period. The computer implementation method according to claim 2, wherein the return distance measurement message is a ranging slot timing (RST) message.
4. The one or more anchor ranging messages further include ranging slot end (RSE) messages transmitted at the end of the ranging slot time period, The computer implementation method according to claim 3, wherein, during the calculation, the clock skew between the serving anchor and the tag is corrected at the central authority by comparing the time difference between when the RSS and RSE are transmitted by the serving anchor and when the RSS and RSE are received by the tag.
5. The computer implementation method according to claim 1, wherein the serving anchor is selected from the plurality of anchors by the tag.
6. The computer implementation method according to claim 5, wherein the selection is performed by the tag based on one or more of the strongest signal criterion, line-of-sight quality criterion, earliest ranging slot time criterion, or maximum number of anchors participating in the ranging slot time period criterion.
7. The computer implementation method according to claim 1, wherein each of the plurality of anchors selects a corresponding distance measurement slot time period.
8. Before the aforementioned transmission, Each anchor periodically transmits a discovery message that encodes a time delay between the transmission time of the discovery message and the start time of the corresponding ranging slot time period of the anchor. Each neighboring anchor within the communication range of each anchor records the start time. The computer implementation method according to claim 7, further comprising:
9. The computer implementation method according to claim 8, wherein when a neighboring anchor detects that the corresponding distance measurement slot time period of the anchor conflicts with the corresponding distance measurement slot time period of the neighboring anchor, the neighboring anchor selects a new corresponding distance measurement slot time period.
10. The computer implementation method according to claim 1, wherein the transceiver of the serving anchor is turned on at the start of the ranging slot time period and turned off after the ranging slot time period to conserve power.
11. A system for locating assets, The system comprises a tag spatially associated with the asset and a plurality of anchors, each having a predetermined position, wherein the tag and each anchor each include a processor operably coupled to memory and a transceiver, A serving anchor designated from the plurality of anchors is configured to transmit one or more anchor distance measurement messages during the serving anchor's distance measurement slot time period. Each of the participating anchors within the range of the serving anchor is configured to send a return distance measurement message at a predetermined time during the distance measurement slot time period. The serving anchor is further configured to record in its memory first timing data relating to the time when the one or more anchor distance measurement messages were transmitted and the time when the return distance measurement messages received by the serving anchor from each participating anchor were received. The tag is further configured to record in its memory a second timing data relating to the time when each of the one or more anchor distance measurement messages and each of the return distance measurement messages was received by the tag during the distance measurement slot time period. The tag and the serving anchor are further coupled to a central authority that can communicate via a network, Either the central entity alone or a combination of the serving anchor and the central entity is further configured to estimate the position of the tag from the first timing data and the second timing data. system.
12. The aforementioned estimation is, at least in part, The departure time difference (TDoD) of each return distance measurement message received by the participating anchor and the arrival time difference (TDoA) of the return distance measurement messages from each participating anchor received by the tag are determined. The time difference (TDoF) is calculated from the above TDoD and TDoA. The position of the tag is calculated via the TDoF. The system according to claim 11, which is carried out by the following means.
13. The one or more anchor distance measurement messages include a distance measurement slot start (RSS) message transmitted at the start of the distance measurement slot time period. The system according to claim 12, wherein the return distance measurement message is a distance measurement slot timing (RST) message.
14. The one or more anchor distance measurement messages further include a distance measurement slot end (RSE) message transmitted at the end of the distance measurement slot time period, The system according to claim 13, wherein, during the calculation, the clock skew between the serving anchor and the tag is corrected at the central authority by comparing the time difference between when the RSS and RSE are transmitted by the serving anchor and when the RSS and RSE are received by the tag.
15. The system according to claim 11, wherein the serving anchor is selected from the plurality of anchors by the tag.
16. The system according to claim 15, wherein the selection is made by the tag based on one or more of the strongest signal criterion, line-of-sight quality criterion, earliest ranging slot time criterion, or the maximum number of anchors participating in the ranging slot time period criterion.
17. The system according to claim 11, wherein each of the plurality of anchors selects a corresponding distance measurement slot time period.
18. The system, before the transmission, Each anchor periodically transmits a discovery message encoding the time delay between the transmission time of the discovery message and the start time of the corresponding ranging slot time period of the anchor. The system according to claim 17, further configured to record the start time by each neighboring anchor within the communication range of each anchor.
19. The system according to claim 17, wherein each neighboring anchor is configured to select a new corresponding distance measuring slot time period when it detects that the corresponding distance measuring slot time period of the anchor conflicts with the corresponding distance measuring slot time period of the neighboring anchor.
20. The system according to claim 11, wherein the transceiver of the serving anchor is turned on at the start of the ranging slot time period and turned off after the ranging slot time period to conserve power.