A system, tag, and method for performing location tracking using ultra-wideband (UWB).

The UWB-based system with TDMA slots and clock synchronization addresses the challenges of high accuracy and real-time tracking in metallic environments, offering centimeter-accurate, high-speed location tracking with reduced power consumption.

JP7837824B2Active Publication Date: 2026-03-31ローカス·コネクト·テクノロジーズ·カンパニーリミティッド
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-07-14
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Existing indoor positioning systems face challenges in achieving high positioning accuracy, high-speed tracking, and real-time use cases, particularly in metallic environments prone to interference and signal jamming.

Method used

A system utilizing ultra-wideband (UWB) technology with a network of base stations and tags, employing time-division multiple access (TDMA) slots for clock synchronization and reservation requests, enabling precise location tracking through clock calibration packets (CCP) and personal area network (PAN) identifier slots, with tags operating in deep sleep mode to conserve power.

Benefits of technology

The system provides centimeter-accurate, high-speed, and real-time location tracking while minimizing packet collisions and extending tag battery life, suitable for industrial environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007837824000001
    Figure 0007837824000001
  • Figure 0007837824000002
    Figure 0007837824000002
  • Figure 0007837824000003
    Figure 0007837824000003
Patent Text Reader

Abstract

To provide a system and a method for performing positional tracking by using an ultrawide waveband (UWB).SOLUTION: The system includes a network formed by a base station and a tag. During the operation, the system forms a plurality of time-division multiple connection (TDMA) slots in a predetermined time frame. The TDMA slots include a clock correction packet (CCP) slot, a personal area network (PAN) identifier request, a response slot, and a TDMA tag slot. In the CCP slot, there is clock synchronization between the base station and the tag. In the PAN identifier request and the response slot, the base station receives a reservation request from the tag and sends a corresponding reservation response. In each TDMA tag slot, the base station listens to a distance measurement request from each tag and sends a corresponding distance measurement response with a corresponding time stamp showing the TDMA tag slot of each tag. Each tag wakes up during the corresponding TDMA tag slot, and therefore a low power consumption is realized.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - reference to Related Applications This non - provisional application claims the priority and benefit of U.S. Provisional Patent Application No. 63 / 229,710, filed on August 5, 2021, which is subject to 35 U.S.C. § 119(e), and the entire disclosure of which is incorporated herein by reference.

[0002] The present disclosure generally relates to position - tracking technology, and more specifically, to systems and methods for performing three - dimensional, high - speed, centimeter - accurate position tracking using ultra - wideband (UWB).

Background Art

[0003] The background description provided herein is for the purpose of generally presenting the context of the present disclosure. The subject matter discussed in the background of the disclosure section should not be assumed to be prior art merely as a result of being mentioned in the background of the disclosure section. Similarly, problems mentioned in the background of the disclosure section or associated with the subject matter of the background of the disclosure section should not be assumed to have been previously recognized in the prior art. The subject matter in the background of the disclosure section merely represents different approaches and may itself be a disclosure in some cases.

[0004] Indoor positioning systems and real-time location systems make it easier to locate objects in the real world. Many technologies are used for positioning items in space, including Bluetooth and Wi-Fi based, or ultrasonic and radar-based real-time location systems (RTLS). There are several fundamental methods used by various radios, such as fingerprinting, time-of-flight, received signal strength indicator (RSSI), and channel status information technology. While these methods and corresponding technologies are useful in terms of availability and operate on unlicensed bands, they cannot solve critical positioning requirements such as high positioning accuracy, high-speed projectile tracking, and real-time use cases. Another problem with the open frequencies used by RTLS is that they are susceptible to interference from metallic environments and prone to signal jamming.

[0005] Therefore, in order to address the aforementioned shortcomings and deficiencies, there is a need in the art that has not been addressed until now. [Overview of the project] [Means for solving the problem]

[0006] In one embodiment, the disclosure relates to a system for performing location tracking using ultra-wideband (UWB). In one embodiment, the system includes a network formed of a plurality of base stations that are communicably connected to each other and to a plurality of tags, wherein one of the base stations is configured as a master base station, each of the remaining base stations is configured as a slave base station, and each of the base stations has a processor and a non-temporary storage device for storing first computer executable code. The first computer executable code, when executed in each processor of a base station, configures each processor of the base station to configure a plurality of time-division multiple access (TDMA) slots within a predetermined time frame, wherein each TDMA slot sequentially includes a clock calibration packet (CCP) slot, a personal area network (PAN) identifier request slot, a PAN identifier response slot, and a plurality of TDMA tag slots for tags; creates a plurality of timers for the TDMA slots, each of which is configured to indicate the time of one of the TDMA slots; performs clock synchronization between base stations in the CCP slot; and, in the PAN identifier request slot, listens for reservation requests from each of the slave base stations and tags, in the case of a master base station. In the case of a slave base station, it sends a reservation request to the master base station and relays the reservation request from the tag to the master base station. In the PAN identifier response slot, the master base station records the slave base station and tag in response to the reservation requests received from each of the slave base stations and tags, assigns a TDMA tag slot corresponding to each of the tags that send the reservation request, and sends a corresponding reservation response to each of the slave base stations and tags. In the case of a slave base station, it receives a corresponding reservation response from the master base station, listens for distance measurement requests from tags in each TDMA tag slot, and in response to receiving a corresponding distance measurement request from the corresponding tag of the tag, it sends a corresponding distance measurement response to the corresponding tag using a corresponding timestamp indicating the time of the corresponding TDMA tag slot for the corresponding tag.

[0007] In a particular embodiment, the predetermined time frame is 1 second, the number of TDMA time slots within the predetermined time frame is 160, and the duration of each TDMA time slot is 6300 microseconds.

[0008] In a particular embodiment, the first computer executable code, when executed in each processor of the base station, causes each processor of the base station to further define a plurality of callbacks, wherein the callbacks correspond one-to-one with TDMA slots, and to trigger one of the corresponding callbacks corresponding to the TDMA slots of the base station and tags in response to a timer indicating the start of time for each TDMA slot.

[0009] In a particular embodiment, each tag has a processor, a real-time clock (RTC), and a non-temporary storage device that stores a second computer executable code, and when the second computer executable code is executed in the processor of a particular tag of the tag, the processor of the particular tag is instructed to perform clock synchronization between the base station and the particular tag in the CCP slot, to send a reservation request to the base station in the PAN identifier request slot, to receive a corresponding reservation request from the base station in the PAN identifier response slot, and in each of the TDMA tag slots to send a ranging request corresponding to the base station in the TDMA tag slot corresponding to the particular tag, and to receive a corresponding tag from the base station. The process involves receiving a corresponding ranging response having an imstamp, calculating a wake-up time based on a corresponding timestamp, wherein the wake-up time is a period of time prior to the time of the TDMA tag slot corresponding to a particular tag, entering a deep sleep mode, wherein the RTC remains active in the deep sleep mode, and, in response to the RTC indicating the wake-up time, waking up from the deep sleep mode, performing a location calculation to obtain location information in the TDMA tag slot corresponding to a particular tag, and then re-entering the deep sleep mode after the TDMA tag slot corresponding to a particular tag.

[0010] In a particular embodiment, the first computer executable code, when executed in each processor of the base station, causes each processor of the base station to perform clock synchronization between base stations in the CCP slot by, in the case of a master base station, sending a clock synchronization packet, and in the case of a slave base station, receiving a clock synchronization packet from the master base station, synchronizing the local clock of the slave base station by referring to the master base station based on the information in the clock synchronization packet, and relaying the clock synchronization packet.

[0011] In a particular embodiment, the second computer executable code, when executed in the processor of a particular tag, causes the processor of the particular tag to receive a clock synchronization packet from the base station and, based on the information in the clock synchronization packet, synchronize the local clock of the particular tag by referring to the master base station, thereby performing clock synchronization between the base station and the particular tag in the CCP slot.

[0012] In certain embodiments, the wake-up time is 250 microseconds prior to the time of the TDMA tag slot corresponding to a particular tag.

[0013] In a particular embodiment, the second computer executable code, when executed in the processor of a particular tag, causes the processor of the particular tag to configure a plurality of node slots in a TDMA tag slot corresponding to a particular tag, wherein the node slots sequentially include a group polling slot, a plurality of base station response slots, a location calculation slot, and a data uplink slot; further, in the TDMA tag slot corresponding to the particular tag, to transmit a corresponding ranging request to a base station by group polling in the group polling slot; to receive a corresponding ranging response from each base station in one of the corresponding base station response slots; to perform a location calculation to obtain location information in the location calculation slot; and to upload the obtained location information in the data uplink slot.

[0014] In a particular embodiment, the number of base station response slots in the TDMA tag slot corresponding to a particular tag is 16, the time for the TDMA tag slot corresponding to the particular tag is 6300 microseconds, the time for the group polling slot is 200 microseconds, and the total time for the base station response slots is 4500 microseconds.

[0015] Another aspect of the present disclosure relates to a tag that performs location tracking using UWB, comprising a processor, a real-time clock (RTC), and a non-temporary storage device for storing computer executable code. The tag is communically connected to a network formed by multiple base stations, one of which is configured as a master base station, and each of the remaining base stations is configured as a slave base station. When the computer executable code is executed on the tag's processor, it configures the tag's processor to configure multiple time-division multiple access (TDMA) slots within a predetermined time frame, wherein each TDMA slot sequentially includes a clock calibration packet (CCP) slot, a personal area network (PAN) identifier request slot, a PAN identifier response slot, and multiple TDMA tag slots; it creates multiple timers for the TDMA slots, each timer configured to indicate the time of one of the TDMA slots; it performs clock synchronization between the base station and the tag in the CCP slot; it sends a reservation request to the base station in the PAN identifier request slot, wherein the base station is configured to respond to the reservation request by assigning the corresponding TDMA tag slot to the tag; and the PAN identifier The process involves, in a response slot, receiving a corresponding reservation request from a base station; in each of the TDMA tag slots, transmitting a corresponding ranging request to the base station in the TDMA tag slot corresponding to the tag, wherein the base station is configured to transmit a corresponding ranging response to the tag along with a corresponding timestamp indicating the time in the TDMA tag slot corresponding to the tag; receiving a corresponding ranging response having a corresponding timestamp from the base station; calculating a wake-up time based on the corresponding timestamp, wherein the wake-up time is a period of time prior to the time in the TDMA tag slot corresponding to the tag; entering a deep sleep mode, wherein the RTC remains active in the deep sleep mode; and waking up from the deep sleep mode in response to the RTC indicating the wake-up time and responding to the tag. To obtain location information within the corresponding TDMA tag slot, a position calculation is performed, and after the TDMA tag slot corresponding to the tag, the system is instructed to re-enter deep sleep mode.

[0016] In a particular embodiment, when the computer executable code is executed in the tag's processor, it causes the tag's processor to receive a clock synchronization packet from the base station and, based on the information in the clock synchronization packet, synchronize the tag's local clock by referring to the master base station, thereby performing clock synchronization between the base station and the tag in the CCP slot.

[0017] Clock-synchronized packets are transmitted by the master base station or relayed by the slave base station.

[0018] In certain embodiments, the wake-up time is 250 microseconds prior to the time of the TDMA tag slot corresponding to a particular tag.

[0019] In a particular embodiment, computer executable code, when executed in the tag's processor, causes the tag's processor to configure a plurality of node slots within a TDMA tag slot corresponding to the tag, wherein the node slots sequentially include a group polling slot, a plurality of base station response slots, a location calculation slot, and a data uplink slot; further, within the TDMA tag slot corresponding to the tag, transmit a corresponding ranging request to a base station by group polling in the group polling slot; receive a corresponding ranging response from each base station in one of the corresponding base station response slots; perform a location calculation to obtain location information in the location calculation slot; and upload the obtained location information in the data uplink slot.

[0020] In a particular embodiment, the number of base station response slots in the TDMA tag slot corresponding to a particular tag is 16, the time for the TDMA tag slot corresponding to the tag is 6300 microseconds, the time for the group polling slot is 200 microseconds, and the total time for the base station response slots is 4500 microseconds.

[0021] A further aspect of this disclosure provides a method for performing location tracking using UWB. The method provides a network formed by a plurality of base stations that are communicably connected to each other and to a plurality of tags, one of the base stations being configured as a master base station and each of the remaining base stations being configured as a slave base station; configuring a plurality of time division multiple access (TDMA) slots within a predetermined time frame, the TDMA slots sequentially including a clock calibration packet (CCP) slot, a personal area network (PAN) identifier request slot, a PAN identifier response slot, and a plurality of TDMA tag slots for tags; creating a plurality of timers for the TDMA slots, each timer being configured to indicate the time of one of the TDMA slots; performing clock synchronization between a base station and a tag in a CCP slot; and in a PAN identifier request slot, if the base station is the master base station, then the slave base station The system includes the steps of listening for reservation requests from each of the base stations and tags; in the case of a slave base station, transmitting reservation requests to the master base station and relaying reservation requests from tags to the master base station; in the PAN identifier response slot, in the case of a master base station, in response to the reservation requests received from each of the slave base stations and tags, recording each of the slave base stations and tags, assigning a TDMA tag slot corresponding to each of the tags that transmit reservation requests, and transmitting a corresponding reservation response to each of the slave base stations and tags, respectively; in the case of a slave base station, receiving a corresponding reservation response from the master base station; and in each of the TDMA tag slots, in response to the base station listening for distance measurement requests from tags and receiving a corresponding distance measurement request from a corresponding tag of the tag, transmitting a corresponding distance measurement response to the corresponding tag using a corresponding timestamp indicating the time of the corresponding TDMA tag slot for the corresponding tag.

[0022] In a particular embodiment, the method further includes the steps of defining a plurality of callbacks, wherein the callbacks correspond one-to-one with TDMA slots, and triggering one of the corresponding callbacks corresponding to the TDMA slots of the base station and tag in response to a timer indicating the start of time for each TDMA slot.

[0023] In certain embodiments, clock synchronization between base stations within a CCP slot is performed by, in the case of a master base station, transmitting a clock synchronization packet; in the case of a slave base station, receiving a clock synchronization packet from the master base station, synchronizing the local clock of the slave base station by referring to the master base station based on the information in the clock synchronization packet, and relaying the clock synchronization packet; and in the case of each tag, receiving a clock synchronization packet from a base station, and synchronizing the local clock of each tag by referring to the master base station based on the information in the clock synchronization packet.

[0024] In a particular embodiment, a particular tag of a tag is configured to perform the following: in a CCP slot, clock synchronization between the base station and the particular tag; in a PAN identifier request slot, a reservation request to the base station; in a PAN identifier response slot, a corresponding reservation request from the base station; in each of the TDMA tag slots, a ranging request corresponding to the base station in the TDMA tag slot corresponding to the particular tag; a ranging response having a corresponding timestamp from the base station; calculate a wake-up time based on the corresponding timestamp, wherein the wake-up time is a time period prior to the time in the TDMA tag slot corresponding to the particular tag; enter a deep sleep mode, wherein the real-time clock (RTC) of the particular tag remains active in the deep sleep mode; and wake up from the deep sleep mode in response to the RTC indicating the wake-up time, perform a location calculation to obtain location information in the TDMA tag slot corresponding to the particular tag, and enter a deep sleep mode again after the TDMA tag slot corresponding to the particular tag.

[0025] In a particular embodiment, a particular tag is configured such that a plurality of node slots are configured within a TDMA tag slot corresponding to the tag, wherein the node slots sequentially include a group polling slot, a plurality of base station response slots, a location calculation slot, and a data uplink slot; and within the TDMA tag slot corresponding to the tag, the tag is further configured to perform the following: send a corresponding ranging request to a base station by group polling in the group polling slot; receive a corresponding ranging response from each base station in one of the corresponding base station response slots; perform a location calculation to obtain location information in the location calculation slot; and upload the obtained location information in the data uplink slot.

[0026] These and other aspects of the present disclosure may be subject to variations and modifications without departing from the spirit and scope of the novel concepts of the present disclosure, but will become apparent from the following description of the preferred embodiments obtained in conjunction with the following drawings.

[0027] The accompanying drawings illustrate one or more embodiments of the present disclosure and, together with the written description, serve to explain the principles of the present disclosure. Whenever possible, the same reference numbers are used throughout the drawings to refer to the same or similar elements of an embodiment.

Brief Description of the Drawings

[0028] [Figure 1A] FIG. is a diagram showing an exemplary system for performing position tracking using ultra-wideband (UWB) according to a particular embodiment of the present disclosure. [Figure 1B] FIG. 1A is a diagram showing an exemplary environment in which the system shown is arranged according to a particular embodiment of the present disclosure. [Figure 2A] FIG. is a diagram schematically showing an exemplary base station according to an embodiment of the present disclosure. [Figure 2B] FIG. is a diagram schematically showing a base station module within the base station shown in FIG. 2A according to an embodiment of the present disclosure. [Figure 3] FIG. is a diagram showing an exemplary frame that is spread and synchronized among all nodes of a system according to a particular embodiment of the present disclosure. [Figure 4A] FIG. is a diagram schematically showing an exemplary tag according to an embodiment of the present disclosure. [Figure 4B] FIG. is a diagram schematically showing a tag module within the tag shown in FIG. 4A according to an embodiment of the present disclosure. [Figure 5] FIG. is a flowchart of a method for performing position tracking using ultra-wideband (UWB) according to a particular embodiment of the present disclosure. [Figure 6A] FIG. is a flowchart of the operation of a master base station in response to a callback of the 0th TDMA slot according to a particular embodiment of the present disclosure. [Figure 6B]This is a flowchart illustrating the operation of a master base station in response to callbacks from the first and second TDMA slots, according to a particular embodiment of the present disclosure. [Figure 6C] This is a flowchart illustrating the operation of a master base station in response to callbacks from the third to the 159th TDMA slot, according to a particular embodiment of the present disclosure. [Figure 7A] This is a flowchart of the operation of a slave base station in response to a callback from the 0th TDMA slot, according to a particular embodiment of the present disclosure. [Figure 7B] This is a flowchart illustrating the operation of a slave base station in response to callbacks from the first and second TDMA slots, according to a particular embodiment of the present disclosure. [Figure 7C] This is a flowchart of the operation of a slave base station in response to callbacks from the third to the 159th TDMA slot, according to a particular embodiment of the present disclosure. [Figure 8A] This is a flowchart of the tag's behavior in response to a callback for the 0th TDMA slot, according to a particular embodiment of the present disclosure. [Figure 8B] This is a flowchart illustrating the behavior of a tag in response to callbacks for the first and second TDMA slots, according to a particular embodiment of the present disclosure. [Figure 8C] This is a flowchart of the operation of a tag in response to a callback from the third to the 159th TDMA slot, according to a particular embodiment of the present disclosure. [Modes for carrying out the invention]

[0029] Next, the Disclosure will be fully described below with reference to the accompanying drawings illustrating exemplary embodiments of the Disclosure. However, the Disclosure can be embodied in many different forms and should not be construed as being limited to the embodiments described herein. Rather, these embodiments are provided to ensure that the Disclosure is thorough and complete and to fully convey the scope of the Disclosure to those skilled in the art. Throughout, similar reference numbers refer to similar elements.

[0030] The terms used herein generally have their usual meanings in the art, within the context of this disclosure, and in the specific context in which each term is used. Specific terms used to describe this disclosure are described below or elsewhere in this specification to provide additional guidance to practitioners regarding the description of this disclosure. For convenience, specific terms may be highlighted, for example, using italics and / or quotation marks. The use of highlighting does not affect the scope and meaning of the terms, which are the same in the same context whether highlighted or not. It should be understood that the same thing can be said in multiple ways. Therefore, alternative languages ​​and synonyms may be used for one or more of the terms discussed herein, and there is no special meaning regardless of whether the terms are described in detail or discussed herein. Synonyms for specific terms are provided. The detailing of one or more synonyms does not preclude the use of other synonyms. The use of examples anywhere in this specification, including examples of any terms discussed herein, is illustrative only and does not in any way limit the scope and meaning of this disclosure or any exemplified terms. Similarly, this disclosure is not limited to the various embodiments provided herein.

[0031] As used herein and throughout the following claims, the meanings of “a,” “an,” and “the” will be understood to include plural references unless the context clearly indicates otherwise. Also, when an element is said to be “on” another element, it will be understood that it may be directly on the other element, or that an intervening element may be present between them. In contrast, when an element is said to be “directly on” another element, there is no intervening element. As used herein, the term “and / or” includes any combination of one or more of the listed items relating to it.

[0032] To describe various elements, components, regions, layers, and / or sections, terms such as first, second, third, etc., may be used herein, but these elements, components, regions, layers, and / or sections should not be limited by these conditions. These terms are used solely to distinguish one element, component, region, layer, or section from another element, component, region, layer, or section. Accordingly, a first element, component, region, layer, or section discussed below may be referred to as a second element, component, region, layer, or section without departing from the teachings of this disclosure.

[0033] Furthermore, relative terms such as “lower” or “bottom” and “upper” or “top” may be used herein to describe the relationship between one element and another, as shown in the drawings. It will be understood that relative terms are intended to encompass different orientations of the device, in addition to the orientation shown in the drawings. For example, if a device in one of the drawings is turned over, an element described as being on the “lower” side of another element will be oriented on the “upper” side of the other element. Thus, the exemplary term “lower” can encompass both “lower” and “upper” orientations, depending on the particular orientation of the drawing. Similarly, if a device in one of the drawings is turned over, an element described as being “below” or “beneath” of another element will be oriented “above” the other element. Thus, the exemplary terms “lower” or “beneath” can encompass both up and down orientations.

[0034] Furthermore, terms such as “comprises” and / or “comprising,” “includes” and / or “including,” “has” and / or “having,” “carry” and / or “carrying,” “contain” and / or “containing,” and “involve” and / or “involving” will be understood to mean that they are unrestrictive, that is, they include but are not limited to these. When used in this disclosure, they specify the existence of the described features, regions, integers, steps, actions, elements, and / or components, but do not exclude the existence or addition of one or more other features, regions, integers, steps, actions, elements, components, and / or groups thereof.

[0035] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as they would be generally understood by those skilled in the art to which this disclosure belongs. Furthermore, terms as defined in commonly used dictionaries should be construed to have the meaning consistent with their meanings in the context of the relevant art and this disclosure, and not to be construed in an ideal or overly formal sense unless expressly defined herein.

[0036] As used herein, “around,” “about,” “approximately,” or “substantially” generally mean within 20 percent, preferably 10 percent, and more preferably 5 percent of a given value or range. The figures given herein are approximate and, unless expressly stated otherwise, can be inferred to be “around,” “about,” “approximately,” or “substantially.”

[0037] As used herein, at least one of the phrases A, B, and C should be interpreted as meaning the logic (A or B or C) using a non-exclusive logical OR. As used herein, the term "and / or" includes one or any combination of the associated listed items.

[0038] As used herein, the term "module" refers to, is part of, or includes, some or all of the above, such as application-specific integrated circuits (ASICs), electronic circuits, combinational logic circuits, field-programmable gate arrays (FPGAs), processors (shared, dedicated, or grouped) that execute code, other suitable hardware components that provide the functions described, or systems on a chip. The term "module" may also include memory (shared, dedicated, or grouped) that stores code executed by the processor.

[0039] As used herein, the terms "chip" or "computer chip" generally refer to a hardware electronic component, a small electronic circuit unit also known as an integrated circuit (IC), or a combination of electronic circuits or ICs, or may include them.

[0040] As used herein, the term "interface" generally refers to a communication tool or means at the point of interaction between components for performing wired or wireless data communication between them. Generally, an interface can be applicable at both the hardware and software levels and can be unidirectional or bidirectional. Examples of physical hardware interfaces may include electrical connectors, buses, ports, cables, terminals, and other I / O devices or components. Components communicating with an interface may be, for example, multiple components or peripheral devices in a computer system.

[0041] As used herein, the term "code" may include software, firmware, and / or microcode, and may refer to programs, routines, functions, classes, and / or objects. Some or all of the code from multiple modules may be executed using a single (shared) processor. Furthermore, some or all of the code from multiple modules may be stored in a single (shared) memory. Furthermore, some or all of the code from a single module may be executed using a group of processors. Furthermore, some or all of the code from a single module may be stored using a group of memories.

[0042] Apparatus and methods are described in the following detailed description and illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as “elements”). These elements may be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends on the specific application and design constraints imposed on the system as a whole. For example, an element, or any part of an element, or any combination of elements, may be implemented as a “processing system” including one or more processors. Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, system-on-chip (SoCs), baseband processors, field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gate logic, discrete hardware circuits, and other suitable hardware configured to perform the various functions described throughout this disclosure. One or more processors within a processing system may run software. Software is broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software components, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, etc., regardless of whether they are called software, firmware, middleware, microcode, hardware description languages, etc.

[0043] Accordingly, in one or more exemplary embodiments, the functions described may be implemented in hardware, software, or any combination thereof. If implemented in software, the functions are stored or encoded as one or more instructions or codes on a computer-readable medium. The computer-readable medium includes computer storage media. The storage medium may be any available medium that can be accessed by a computer. Such computer-readable media may include, but not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), optical disk storage, magnetic disk storage, other magnetic storage devices, combinations of the computer-readable media of the aforementioned types, or any other medium that can be used to store computer executable code in the form of instructions or data structures that can be accessed by a computer.

[0044] The following descriptions are essentially illustrative and are not intended to limit the disclosure, application, or use. The broad teachings of this disclosure can be implemented in various forms. Therefore, although this disclosure includes specific examples, the true scope of this disclosure should not be so limited, as other modifications will become apparent when considering the drawings, specification, and the claims below. For clarity, the same reference numerals are used in the drawings to identify similar elements. It should be understood that one or more steps within the method may be performed in a different order (or simultaneously) without altering the principles of this disclosure.

[0045] As mentioned above, there are many technologies used to place items in space, such as RTLS. The demand for such technologies in industrial environments and their commercial success necessitates improvements in RTLS. Therefore, certain aspects of this disclosure relate to systems and methods for performing location tracking using ultra-wideband (UWB). Certain embodiments of this disclosure may be used to develop 3D-enabled high-speed tracking indoor location systems or real-time positioning systems. Specifically, an exemplary system may be formed by base stations (or "anchors") and tags, the tags being attached to moving objects, and the anchors being fixed and stationary. The base stations include a master base station and slave base stations. The master base station is responsible for transmitting clock synchronization packets and assigning slot IDs to the slave base stations and tags. During operation, the master base station initiates the configuration of time-division multiple access (TDMA) slots and synchronizes the network, thereby enabling other slave base stations to join and form a network, with each base station (or anchor) functioning as a node. The nodes operate using a predetermined time frame, for example, a repeating frame structure of one second, allowing the tags to operate in low-power mode. Specifically, once a tag is synchronized to the network, it remains in deep sleep mode until the wake-up time before the TDMA slot assigned to it, during which it performs ranging and location operations. In this case, the time-synchronized setup with all nodes in the network allows the system to provide highly accurate microlocation data and perform high-speed tracking in near real-time, while avoiding packet collisions and / or packet loss between base stations. Meanwhile, the low power consumption of the tags extends the battery life of each tag.

[0046] Figure 1A shows an exemplary system that performs location tracking using UWB according to a particular embodiment of the present disclosure. As shown in Figure 1A, the exemplary system 100 includes a network 110 formed by a plurality of base stations 120 (or “anchors”) and a server 140. The base stations 120 and the server 140 are communicated with each other via the network 110. In addition, a plurality of tags 130 are provided, each tag 130 being communicated with a base station 120. While the exemplary system 100 shows a specific number of base stations 120 (four base stations 120 shown in Figure 1A), tags 130 (three tags 130 shown in Figure 1A), and a server 140 (a single server 140 shown in Figure 1A), it should be noted that the actual number of base stations 120, tags 130, and servers 140 may vary based on the actual needs of the system 100.

[0047] The base station 120 is provided in the system 100 as a stationary or fixed “anchor”. In other words, each base station 120 is provided to be stationary in the environment in which the system 100 is located, and as a result, the tag 130 can be positioned based on the fixed position of the anchor (i.e., the base station 120) and the detection signal received by the base station 120 from the tag 130 as it moves around in the environment. For example, Figure 1B shows an exemplary system that performs location tracking using UWB according to a particular embodiment of the present disclosure. As shown in Figure 1B, in the environment, a plurality of base stations 120 are provided at specific fixed positions. In this case, the target (such as a vehicle 150) on which the tag 130 is placed may move around in the environment, and the base station 120 may receive a detection signal from the tag 130 to calculate the location of the target.

[0048] In certain embodiments, of the base stations 120 in system 100, only one base station 120 is configured as a master base station, and the other base stations 120 in network 110 are configured as slave base stations. For example, in the exemplary system 100 shown in Figure 1A, only one of the four base stations 120 is configured as a master base station, and the other three base stations 120 are slave base stations. In certain embodiments, the role of each base station 120 as either a master base station or a slave base station can be predetermined.

[0049] In certain embodiments, as shown in Figure 1B, due to the fixed positions of each base station 120 and the mobile position of the tag 130 (or the target on which the tag 130 is placed), the tag 130 may not be located within range of some of the base stations 120. In other words, the tag 130 may be an out-of-range tag among the base stations 120. In this case, the tag 130 may not be able to perform direct ranging using these out-of-range base stations 120. If the tag 130 is located out of range of the master base station, a relay process may be required by another slave base station 120 (or multiple slave base stations 120) to transmit / relay ranging signals between the out-of-range tag 130 and the master base station 120.

[0050] The tag 130 is a device provided on a target (which may be a vehicle, person, animal, or moving object) placed within the system 100. In a particular embodiment,

[0051] Server 140 is a server computing device that is communicably connected to base station 120 via network 110 in order to perform calculation of the actual location of tag 130 based on information provided by base station 120. Specifically, the information provided by base station 120 includes, but is not limited to, information on the fixed location of anchor (i.e., base station 120) and detection signals received by base station 120 from tag 130. In certain embodiments, server 140 and base station 120 may form a centralized network system, where server 140 is a centralized server. In certain embodiments, a distributed network system may be provided, where server 140 (or multiple servers 140) and base station 120 are connected in a distributed structure.

[0052] Figure 2A schematically shows an exemplary base station according to one embodiment of the present disclosure. Specifically, the exemplary base station 200 shown in Figure 2A may be used as one of the base stations 120 of the exemplary system 100 shown in Figure 1A. As shown in Figure 2A, the base station 200 includes a processor 210, memory 220, network interface 225, and storage device 230, as well as a bus 240 interconnecting the processor 210, memory 220, network interface 225, and storage device 230. In one embodiment, the processor 210, memory 220, and storage device 230 may be in the form of an ASIC. In a particular embodiment, the base station 200 may include hardware and / or software components (not shown) necessary to perform its corresponding task. Examples of these hardware and / or software components, but not limited to these, may include other necessary memory modules, interfaces, buses, input / output (I / O) modules, and peripheral devices, the details of which are not described herein.

[0053] The processor 210 controls the operation of the base station 200, which can be used to execute any computer executable code or instructions. In certain embodiments, the processor 210 may be a central processing unit (CPU) or a microcontroller unit (MCU), and the computer executable code or instructions executed by the processor 210 may include operating systems (OS) and other applications, as well as code or instructions stored in the base station 200. In certain embodiments, the base station 200 may run on multiple processors, which may include any appropriate number of processors.

[0054] Memory 220 may be a volatile memory module, such as random access memory (RAM), for storing data and information during the operation of the base station 200. In certain embodiments, memory 220 may be in the form of a volatile memory array. In certain embodiments, the base station 200 may run on two or more memories 220.

[0055] The network interface 225 is an interface for communicating with the network. In certain embodiments, the network interface 225 may be an interface under the UWB standard. In one embodiment, the base station 200 may include a plurality of network interfaces 225. For example, the network interface 225 may include an Ethernet backhaul, such as a local area network (LAN) backhaul, which enables the base station 200 to connect to the server 140, and a wireless interface for wireless communication with the tag.

[0056] The storage device 230 is a non-volatile storage medium or device for storing computer executable code or instructions, such as the OS and software applications of the base station 200. Examples of the storage device 230 may include flash memory, memory cards, USB drives, or other types of non-volatile storage devices such as hard drives, floppy disks, optical drives, or any other type of data storage device. In certain embodiments, the base station 200 may have multiple storage devices 230, and the software applications of the base station 200 may be stored separately in the multiple storage devices 230.

[0057] As shown in Figure 2A, the computer executable code stored in the memory device 230 may include a base station module 250. Specifically, the base station module 250, when executed, is in the form of a software module that enables the base station 200 to communicate with servers and tags through the base station protocol. Figure 2B schematically shows a base station module in the base station shown in Figure 2A according to one embodiment of the present disclosure. Specifically, the base station module 250 shown in Figure 2B includes an anchor configuration module 260, a clock calibration packet (CCP) module 270, a personal area network (PAN) identifier (ID) and slot ID module 280, a TDMA module 290, and a database 295.

[0058] The anchor configuration module 260 is used to perform configuration settings for the base station 200. In particular, when the base station 200 restarts, the anchor configuration module 260 loads base station configuration data from the database 295 to perform configuration. Based on the base station configuration data, the anchor configuration module 260 configures or allocates multiple TDMA slots in memory 220 and creates multiple timers for the TDMA slots. Each timer is used to indicate the time of one of the TDMA slots. In a particular embodiment, a TDMA slot sequentially includes a CCP slot, a PAN ID request slot, a PAN ID response slot, and multiple TDMA tag slots. In one embodiment, there are 160 TDMA time slots within a predetermined time frame of one second, and the time of each TDMA time slot is 6300 microseconds. The details of the TDMA slots will be described in more detail.

[0059] In certain embodiments, a timer may be used to trigger a corresponding TDMA slot using a “callback” mechanism. Specifically, the anchor configuration module 260 may define multiple callbacks, each corresponding to a TDMA slot on a one-to-one basis. Then, when the timer indicates the start of time for a corresponding TDMA slot, the anchor configuration module 260 may trigger the corresponding callback for that TDMA slot. Since all base stations and tags are clock-synchronized, the callback mechanism applies to all base stations and tags, and therefore the start time of the corresponding TDMA slot is accurately indicated.

[0060] The CCP module 270 is used to perform clock calibration and synchronization between the base station 200 and the tags. Specifically, as described above, the base stations include a master base station and slave base stations. In certain embodiments, for the master base station, the CCP module 270 is used to transmit or broadcast clock synchronization packets over the network within the CCP slot. For each slave base station, the CCP module 270 is used to receive clock synchronization packets from the master base station and to synchronize the local clock of the slave base station by referring to the master base station based on the information in the clock synchronization packets in the CCP slot. Thus, all base stations and tags throughout the network are clock-synchronized based on the information in the clock synchronization packets transmitted by the master base station. In certain embodiments, some of the slave base stations may not be located within range of the master base station, and as a result, these out-of-range slave base stations cannot hear directly from the master base station. In this case, each CCP module 270 of the slave base stations located within range of the master base station can further relay the clock synchronization packets over the network to enable the out-of-range slave base stations to be clock-synchronized with the master base station. In certain embodiments, the maximum number of relays is limited to 127, which covers a cluster of 16 base stations, and beyond that the clock drift exceeds 500 picoseconds. Since the fastest synchronous transition time at a slave base station is approximately 500 microseconds, the synchronous accuracy error is approximately 500 microseconds * 1 ppm = 500 picoseconds (0.5 ns), which is approximately 15 cm (in the worst-case scenario after 127 relays).

[0061] The PAN ID and slot ID module 280 is used to perform base station and tag reservations across the network. In a particular embodiment, for a master base station, the PAN ID and slot ID module 280 is used to listen for reservation requests and tags in the PAN ID request slot from each of the slave base stations, and to respond to each received reservation request by recording each of the slave base stations and tags, assigning a TDMA tag slot corresponding to each tag that sends a reservation request, and sending corresponding reservation responses to each of the slave base stations and tags. The data corresponding to the assigned TDMA tag slot is recorded in the database 295. For each slave base station, the PAN ID and slot ID module 280 is used to send a reservation request to the master base station to relay the reservation request from the tag to the master base station in the PAN ID request slot, and to receive the corresponding reservation response from the master base station in the PAN ID response slot. In certain embodiments, if some of the slave base stations and / or tags are located within range of the master base station, each PAN ID and slot ID module 280 of the slave base stations located within range of the master base station may further relay reservation requests from out-of-range slave base stations and / or tags to the master base station in the PAN ID request slot, and relay the corresponding reservation responses from the master base station to out-of-range slave base stations and / or tags in the PAN ID response slot.

[0062] In certain embodiments, the PAN ID and slot ID module 280 may utilize a lease time mechanism for the reservation of slave base stations and tags. Specifically, when the master base station's PAN ID and slot ID module 280 sends corresponding reservation responses to each of the slave base stations and tags, the PAN ID and slot ID module 280 also assigns a lease time to each of the slave base stations and tags and checks whether the lease time has expired. For example, the lease time may be 3600 seconds (i.e., 1 hour). When the lease time of a slave base station or tag expires, the slot assigned to the slave base station or tag is released and becomes freely available for all new reservation requests.

[0063] The TDMA module 290 is used to control ranging communication between the base station 200 and the tag. In a particular embodiment, in each TDMA tag slot, the TDMA module 290 is used to listen for ranging requests from the tag, and in response to receiving a ranging request from the corresponding tag of the tag, the TDMA module 290 sends a ranging response to the corresponding tag using a corresponding timestamp indicating the time of the corresponding TDMA tag slot to the corresponding tag. In this case, the corresponding tag may perform a corresponding wake-up and position calculation process based on the ranging response and the information of the corresponding timestamp.

[0064] Figure 3 shows an exemplary frame, spread and synchronized across all nodes of the system, according to a particular embodiment of the present disclosure. Specifically, as described above, the anchor configuration module 260 configures or allocates multiple TDMA slots in the memory 220. As shown in Figure 3, there are 160 TDMA slots 310 within a predetermined time frame of 1 second, which sequentially include a CCP slot 312 (as the 0th TDMA slot), a PAN ID request slot 314, and a PAN ID response slot 316 (as the 1st and 2nd TDMA slots), and multiple TDMA tag slots 318 (as the 3rd through 159th TDMA slots). In other words, there are 157 TDMA tag slots 318, sequentially labeled as TAG0 through TAG156, and each TDMA tag slot 318 can be assigned one-to-one to a corresponding tag, thus enabling a total of 157 tags to participate in the network. If all 157 TDMA tag slots 318 are reserved for tags, the master base station stops listening for additional tag requests. The first three TDMA slots (i.e., CCP slot 312, PAN ID request slot 314, and PAN ID response slot 316, or the 0th to 2nd TDMA slots) are used for network synchronization and coupling purposes, while the TDMA tag slots 318 are used for tag ranging purposes. Furthermore, each TDMA time slot 310 has a time of 6300 microseconds, so each tag can have sufficient time to perform ranging to a base station in the network.

[0065] Figure 4A schematically shows an exemplary tag according to one embodiment of the present disclosure. Specifically, the exemplary tag 400 shown in Figure 4A may be used as one of the tags 130 of the exemplary system 100 shown in Figure 1A. As shown in Figure 4A, the tag 400 includes a real-time clock (RTC) 405, a processor 410, memory 420, a network interface 425, and a storage device 430, as well as a bus 440 interconnecting the RTC 405, processor 410, memory 420, network interface 425, and storage device 430. In one embodiment, the processor 410, memory 420, and storage device 430 may be in the form of an ASIC. In certain embodiments, the tag 400 may include hardware and / or software components (not shown) necessary to perform its corresponding task. Examples of these hardware and / or software components, but not limited to these, may include other necessary memory modules, interfaces, buses, input / output (I / O) modules, and peripheral devices, the details of which are not described herein.

[0066] The RTC405 is a battery-powered clock incorporated into the microchip to store and provide the current time of the tag 400. In certain embodiments, the RTC405 (or the microchip in which the RTC405 is provided) is isolated from the processor 410, memory 420, and storage device 430 so that it can operate independently of the other components of the tag 400. In other words, while the other components of the tag 400 switch to deep sleep mode, the RTC405 can remain active, thus allowing the tag to consume less power. In certain embodiments, the RTC405 may be implemented by complementary metal-oxide-semiconductor (CMOS) on a computer motherboard.

[0067] The processor 410 controls the operation of the tag 400, which can be used to execute any computer executable code or instructions. In certain embodiments, the processor 410 may be a central processing unit (CPU) or a microcontroller unit (MCU), and the computer executable code or instructions executed by the processor 410 may include operating systems (OS) and other applications, as well as code or instructions stored in the tag 400. In certain embodiments, the tag 400 may run on multiple processors, which may include any appropriate number of processors.

[0068] Memory 420 may be a volatile memory module, such as random access memory (RAM), for storing data and information during the operation of the tag 400. In certain embodiments, memory 420 may be in the form of a volatile memory array. In certain embodiments, the tag 400 may run on two or more memories 420.

[0069] The network interface 425 is an interface for communicating with a network. In certain embodiments, the network interface 425 may be an interface under the UWB standard. In one embodiment, the tag 400 may include a plurality of network interfaces 425. For example, the network interface 425 may include one or more wireless interfaces for wireless communication with a base station.

[0070] The storage device 430 is a non-volatile storage medium or device for storing computer executable code or instructions, such as the OS and software applications of the tag 400. Examples of the storage device 430 may include flash memory, memory cards, USB drives, or other types of non-volatile storage devices such as hard drives, floppy disks, optical drives, or any other type of data storage device. In certain embodiments, the tag 400 may have multiple storage devices 430, and the software applications of the tag 400 may be stored separately in the multiple storage devices 430.

[0071] As shown in Figure 4A, the computer executable code stored in the storage device 430 may include a tag module 450. Specifically, the tag module 450, when executed, is in the form of a software module that enables the tag 400 to communicate with a server and a base station via the base station UWB protocol. Figure 4B schematically shows a tag module in the tag shown in Figure 4A according to one embodiment of the present disclosure. Specifically, the tag module 450 shown in Figure 4B includes a tag configuration module 460, a tag CCP module 470, a tag slot ID module 480, a ranging module 490, and a database 495.

[0072] The tag configuration module 460 is used to perform configuration settings for the tag 400. In particular, when the tag 400 restarts, the tag configuration module 460 also configures or assigns multiple slots in memory 220 corresponding to the TDMA slot 310 for the base station shown in Figure 3. Furthermore, the tag configuration module 460 also creates a timer used to indicate the time of one of the corresponding slots to be assigned to the tag 400. In certain embodiments, the slots for the tag 400 may include ranging slots, wake-up slots before the ranging slots, and the remaining slots as deep sleep slots after the tag 400 has joined the network. In one embodiment, within a predetermined time frame such as 1 second, the time for the ranging slots is 6300 microseconds, which is the same as the time for each TDMA slot, and the time for the wake-up slots is 250 microseconds. The details of the slots will be described in more detail later.

[0073] In certain embodiments, the “callback” mechanism used by the base station as described above during the tag configuration stage may also be applied to the tag 400. Specifically, the tag configuration module 460 may also define multiple callbacks corresponding to slots. Then, when the timer indicates the start of time for a particular slot, the tag configuration module 460 may trigger the corresponding callback for that particular slot. Once the tag 400 is clock-synchronized with all base stations 200, the callback mechanism may be applied to all base stations 200 and the tag 400, thus accurately indicating the start time of any corresponding slot.

[0074] The tag CCP module 470 is used to perform clock calibration and synchronization between the base station 200 and the tag 400. Specifically, as described above, the base station 200 may transmit a clock synchronization packet (either broadcast by the master base station or relayed by one of the slave base stations) over the network in the CCP slot 312. In the tag 400, the tag CCP module 470 is used to receive the clock synchronization packet from the base station 200 and to synchronize the local clock of the tag 400 by referring to the master base station based on the information in the clock synchronization packet. The tag CCP module 470 also records the information of the clock synchronization packet in the database 495 to indicate that the tag 400 has been clock-synchronized. Thus, the tag 400 is clock-synchronized based on the information in the clock synchronization packet transmitted by the master base station (or relayed by the slave base stations).

[0075] The tag slot ID module 480 is used to perform tag reservations to base stations over the network. In a particular embodiment, once tag 400 is clock-synchronized with a master base station, the tag slot ID module 480 is used to send a reservation request for tag 400 to base station 200. When the master base station receives a reservation request from tag 400 (either directly from tag 400 or from a slave base station relaying the reservation request) in the PAN identifier request slot 314, the master base station responds by recording tag 400, assigning the corresponding TDMA tag slot 318 to tag 400 and sending the reservation request, and sending a corresponding reservation response back to tag 400 in the PAN identifier response slot 316. In tag 400, the tag slot ID module 480 receives the corresponding reservation response from the base station (either directly from the master base station or from a slave base station relaying the reservation response) and records the reservation response information in the database 495 to indicate that tag 400 has joined the network.

[0076] The ranging module 490 is used to control ranging communication between the base station 200 and the tag 400. Specifically, as described above, when the master base station receives a reservation request from the tag 400, the master base station responds to the reservation request by assigning the corresponding TDMA tag slot 318 to the tag 400, and the tag 400 may then receive a corresponding reservation response to indicate that the tag 400 has joined the network. In a particular embodiment, for each TDMA tag slot, the ranging module 490 sends a ranging request to the base station 200 and then receives a corresponding ranging response from the base station 200, along with a corresponding timestamp indicating the time of the TDMA tag slot 318 corresponding to the tag 400. In this case, the ranging module 490 may perform a calculation based on the corresponding timestamp to determine a wake-up time, which is a time period prior to the time of the TDMA tag slot corresponding to the tag 400. In one embodiment, the wake-up time may be 250 microseconds prior to the time of the TDMA tag slot corresponding to the tag 400. The ranging module 490 also records timestamps and wake-up time information obtained in the database 495. The ranging module 490 can then control the components of the tag 400 to enter deep sleep mode. In deep sleep mode, only the RTC 405 remains active, while the other components of the tag 400 enter deep sleep mode, thus significantly reducing the power consumption of the tag 400. The RTC 405 monitors the time, and when the RTC 405 indicates that the wake-up time has elapsed, the RTC 405 sends an interrupt to wake up the tag 400, and the ranging module 490 can then continue performing position calculations to obtain position information in the TDMA tag slot corresponding to the tag 400. Once the time for the TDMA tag slot corresponding to the tag 400 has elapsed, the ranging module 490 can then control the components of the tag to enter deep sleep mode again.

[0077] Returning to Figure 3, within the same predetermined 1-second time frame, each tag 400's slot 330 includes a ranging slot 332, a wake-up slot 334 preceding the ranging slot 332, and the remaining slot as a deep sleep slot 336. The time for ranging slot 332 corresponds to the time for the TDMA tag slot 318 corresponding to tag 400. Specifically, slot 330 shown in Figure 3 represents an exemplary tag 400 labeled as TAG1 at base station 200, and the time for ranging slot 332 corresponds to the time for the TDMA tag slot 318 labeled as TAG1. Thus, the time period preceding the ranging slot 332 is allocated as the wake-up slot 334, and the remaining slot is allocated as the deep sleep slot 336.

[0078] In certain embodiments, for the ranging slot 332 (corresponding to the TDMA tag slot 318 corresponding to the tag 400), the tag configuration module 460 may further configure multiple node slots 350 within the ranging slot 332. Specifically, the node slots sequentially include a group polling slot 352, multiple base station response slots 354, a position calculation slot 356, and a data uplink slot 358. Specifically, as shown in Figure 3, there are 16 base station response slots 354, labeled as base station 0 (representing the master base station) through base station 15. In other words, a total of 16 base stations 200 or nodes (including the master base station and 15 slave base stations) may be included in the network, and the tag may extend to communicating with all 16 base stations 200. During operation, the ranging module 490 may send corresponding ranging requests to all base stations 200 by group polling in the group polling slot 352. In a particular embodiment, the time for the group polling slot 352 is 200 microseconds, the total time for the base station response slots is 4500 microseconds, and each base station response slot has a time of approximately 270 microseconds. In this case, if there are four base stations available for tagging, the actual communication time for the ranging process is 1860 microseconds, and if there are six base stations available for tagging, the actual communication time for the ranging process is 2133 microseconds, and the positional accuracy in line-of-sight (LOS) conditions may be less than 10 cm.

[0079] As explained, once the ranging slot 332 (and the corresponding wake-up slot 334) is configured for a particular tag, the tag is bound to strictly perform ranging operations only within the time of the ranging slot 332, and once the ranging slot 332 has finished, the tag switches to deep sleep mode. Therefore, the power consumption of the tag is significantly reduced.

[0080] In one embodiment, the system 100 described above may be used to perform high-speed, centimeter-level accurate three-dimensional position tracking using UWB. For example, Figure 5 shows a flowchart of a method for performing position tracking using ultra-wideband (UWB) according to a particular embodiment of the present disclosure. In a particular embodiment, the method shown in Figure 5 may be implemented by the system 100 shown in Figure 1A, or by the base station shown in Figure 2A or Figure 2B. Unless otherwise specified in the present disclosure, the steps of the method may be arranged in a different order and are therefore not limited to the order shown in Figure 5.

[0081] As shown in Figure 5, in process 510, the anchor device (i.e., the master base station) is started up. Once the anchor device is started up, in process 520, the anchor configuration module of the anchor device loads the base station configuration from the EEPROM (i.e., the storage device). In process 530, the anchor configuration module of the anchor device verifies whether the system configuration actually exists. If the configuration does not exist, the anchor configuration module returns to process 520 to attempt to reload the base station configuration. If the configuration is verified, in process 540, the anchor configuration module outputs the current settings of the system. In this process, the anchor configuration module may configure the TDMA slots in the memory of the anchor device. Once the TDMA slots are configured, the anchor configuration module may create the corresponding timers. In processes 550-580, the anchor configuration module sequentially creates timers for all 160 TDMA slots. Specifically, in process 550, the timer corresponding to the 0th TDMA slot (i.e., the CCP slot) is created for clock-synchronous packets. In process 560, a timer corresponding to the first TDMA slot is created for the PAN ID and network request slot (i.e., the PAN ID request slot). In process 570, a timer corresponding to the second TDMA slot is created for the PAN ID and network response slot (i.e., the PAN ID response slot). In process 580, timers corresponding to the third through 159th TDMA slots are created for N-distance measurement (i.e., TDMA tag slots). Once the timers are created, in process 590, the anchor configuration module defines and declares multiple callbacks for the 0th through 159th TDMA slots, and in process 595, the anchor configuration module sequentially triggers the callbacks at the start of each TDMA slot.

[0082] Figures 6A–6C show flowcharts of the operation of a master base station in response to each callback of a TDMA slot, according to a particular embodiment of this disclosure. In a particular embodiment, the operation shown in Figures 6A–6C may be implemented by a base station configured as a master base station, as shown in Figures 2A and 2B. Unless otherwise specified in this disclosure, the steps of the operation may be arranged in a different order and are therefore not limited to the order shown in Figures 6A–6C.

[0083] As shown in Figure 6A, in process 605, a callback for the 0th TDMA slot (i.e., the CCP slot) is triggered. In process 610, the master base station's CCP module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within the CCP slot). If the timer is 6300 microseconds or longer, the process terminates immediately. If the timer is less than 6300 microseconds, in process 615, the master base station's CCP module sends or broadcasts a clock synchronization packet, and in process 620, the CCP module enters an infinite loop until the CCP slot terminates.

[0084] As shown in Figure 6B, in process 625, callbacks for the first and second TDMA slots (i.e., the PAN ID request slot and the PAN ID response slot) are triggered. In process 630, the master base station's PAN ID and slot ID module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within the PAN ID request slot and the PAN ID response slot). If the timer is 6300 microseconds or longer, the process terminates immediately. If the timer is less than 6300 microseconds, in process 632, the master base station's PAN ID and slot ID module listens for reservation requests from slave base stations and / or tags. In process 634, upon receiving a reservation request, the master base station's PAN ID and slot ID module determines whether the reservation request is a tag request (i.e., a reservation request from a tag). If the reservation request is a tag request, in process 636, the master base station's PAN ID and slot ID module issues a PAN ID and TDMA slot ID response (i.e., a reservation response) for the corresponding tag. If the reservation request is determined not to be a tag request, the reservation request is a slave base station request (i.e., a reservation request from a slave base station), and in process 638, the master base station's PAN ID and slot ID module issues a PAN ID and node slot ID response (i.e., a reservation response) to the corresponding slave base station. Then, in process 640, the master base station's PAN ID and slot ID module maintains the slot record using the corresponding lease time. In process 645, the master base station's PAN ID and slot ID module checks whether the lease time has expired. If it has not expired, the PAN ID and slot ID module returns to process 630. If the lease time has expired, in process 650, the PAN ID and slot ID module updates the corresponding slot record so that the corresponding slot becomes available.

[0085] As shown in Figure 6C, in process 655, callbacks are triggered for the third through 159th TDMA slots (i.e., TDMA tag slots). In process 660, the master base station's TDMA module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within each corresponding TDMA tag slot). If the timer is 6300 microseconds or longer, the process terminates immediately. If the timer is less than 6300 microseconds, in process 670, the master base station's TDMA module checks whether the clock packet is active and whether the slot is reserved (i.e., whether there is a reserved tag). If there are no reserved slots, the process terminates immediately. If at least one slot is reserved for a tag, in process 680, the master base station's TDMA module receives a ranging request from the tag, and in process 690, the master base station's TDMA module responds to the ranging request and sends the corresponding ranging response to the tag with a timestamp. The TDMA module then returns to process 660 until the corresponding TDMA tag slot has finished.

[0086] Figures 7A–7C show flowcharts of the operation of a slave base station in response to each callback of a TDMA slot, according to a particular embodiment of this disclosure. In a particular embodiment, the operation shown in Figures 7A–7C may be performed by a base station configured as a slave base station as shown in Figures 2A and 2B. Unless otherwise specified in this disclosure, the steps of the operation may be arranged in a different order and are therefore not limited to the order shown in Figures 7A–7C.

[0087] As shown in Figure 7A, in process 705, a callback for the 0th TDMA slot (i.e., the CCP slot) is triggered. In process 710, the slave base station's CCP module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within the CCP slot). If the timer is 6300 microseconds or longer, the process terminates directly. If the timer is less than 6300 microseconds, in process 712, the slave base station's CCP module receives a clock synchronization packet, and in process 715, the slave base station's CCP module synchronizes its local clock based on the information in the clock synchronization packet, resulting in the slave base station being clock-synchronized. Then, in process 718, the slave base station's CCP module checks whether the clock synchronization packet needs to be relayed. If the clock synchronization packet needs to be relayed, in process 720, the slave base station's CCP module broadcasts or relays the clock synchronization packet and then returns to process 710. If the clock synchronization packet does not need to be relayed, the CCP module returns directly to process 710 until the CCP slot terminates.

[0088] As shown in Figure 7B, in process 725, callbacks are triggered for the first and second TDMA slots (i.e., the PAN ID request slot and the PAN ID response slot). In process 730, the slave base station's PAN ID and slot ID modules check whether the timer is less than 6300 microseconds (i.e., whether the time is still within the PAN ID request slot and PAN ID response slot). If the timer is 6300 microseconds or longer, the process terminates immediately. If the timer is less than 6300 microseconds, in process 732, the slave base station's PAN ID and slot ID modules check whether the PAN ID status is started and whether the lease time is less than N seconds (indicating that the slave base station is reserved). For example, N = 3600 (i.e., the lease time is pre-configured as 1 hour). If the slave base station is not reserved, in process 734, the slave base station's PAN ID and slot ID modules initiate the reservation process by sending a reservation request to the master base station. In process 736, the slave base station's PAN ID and slot ID module receives the corresponding PAN ID and node slot ID response (i.e., reservation response) from the master base station. In process 738, the slave base station's PAN ID and slot ID module initiates the lease time, and in process 740, the slave base station's PAN ID and slot ID module updates the lease time in the slave base station's database.

[0089] On the other hand, in process 732, if the slave base station's PAN ID and slot ID module determines that the slave base station is reserved, in process 742, the slave base station's PAN ID and slot ID module determines whether it needs to relay the reservation request. If it does need to relay the reservation request, in process 745, the slave base station's PAN ID and slot ID module listens for reservation requests from other slave base stations and / or tags. If a reservation request is received, in process 750, the slave base station's PAN ID and slot ID module retransmits or relays the reservation request to the master base station. If it does not need to relay the request, the slave base station's PAN ID and slot ID module returns directly to process 730 until the CCP slot is terminated.

[0090] As shown in Figure 7C, in process 755, callbacks are triggered for the third through 159th TDMA slots (i.e., TDMA tag slots). In process 760, the slave base station's TDMA module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within each corresponding TDMA tag slot). If the timer is 6300 microseconds or longer, the process terminates immediately. If the timer is less than 6300 microseconds, in process 770, the slave base station's TDMA module checks whether the slave base station is clock-synchronized and whether the slots are reserved for the slave base station (i.e., whether the slave base station is on the network). If the slave base station is not on the network, the process terminates immediately. If the slave base station is on the network, in process 780, the slave base station's TDMA module receives a ranging request from the tag, and in process 790, the slave base station's TDMA module responds to the ranging request and sends the corresponding ranging response to the tag along with a timestamp. Next, the TDMA module returns to process 760 until the corresponding TDMA tag slot is completed.

[0091] Figures 8A–8C show flowcharts of the operation of a tag in response to each callback of a TDMA slot according to a particular embodiment of this disclosure. In a particular embodiment, the operation shown in Figures 8A–8C may be performed by the tag shown in Figures 4A and 4B. Unless otherwise specified in this disclosure, the steps of the operation may be arranged in a different order and are therefore not limited to the order shown in Figures 8A–8C.

[0092] As shown in Figure 8A, in process 805, a callback for the 0th TDMA slot (i.e., the CCP slot) is triggered. In process 810, the tag's CCP module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within the CCP slot). If the timer is 6300 microseconds or longer, the process terminates directly. If the timer is less than 6300 microseconds, in process 815, the tag's CCP module receives a clock synchronization packet, and in process 820, the tag's CCP module synchronizes its local clock based on the information in the clock synchronization packet, and as a result, the tag is clock-synchronized. Once the tag is clock-synchronized, the CCP module returns directly to process 810 until the CCP slot terminates.

[0093] As shown in Figure 8B, in process 825, callbacks for the first and second TDMA slots (i.e., the PAN ID request slot and the PAN ID response slot) are triggered. In process 830, the tag's tag slot ID module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within the PAN ID request slot and PAN ID response slot). If the timer is 6300 microseconds or longer, the process terminates immediately. If the timer is less than 6300 microseconds, in process 832, the tag's tag slot ID module checks whether the PAN ID status is initiated and whether the lease time is less than N seconds (indicating the tag is reserved). For example, N=3600 (i.e., the lease time is pre-configured as 1 hour). If the tag is not reserved, in process 835, the tag's tag slot ID module initiates the reservation process by sending a reservation request to the master base station. In process 840, the tag's tag slot ID module receives the corresponding PAN ID and TDMA slot ID response (i.e., reservation response) from the master base station. In process 845, the tag's tag slot ID module starts the lease time, and in process 850, the tag's tag slot ID module updates the tag's lease time to the database.

[0094] As shown in Figure 8C, in process 855, callbacks are triggered for the third through 159th TDMA slots (i.e., TDMA tag slots). In process 860, the tag ranging module checks whether the timer is less than 6300 microseconds (i.e., whether the time is still within the corresponding TDMA tag slot). If the timer is 6300 microseconds or longer, the process terminates immediately. If the timer is less than 6300 microseconds, in process 870, the tag ranging module checks whether the tag is clock-synchronized and whether the slot is reserved for a slave base station (i.e., whether the tag is in the network). If the tag is not in the network, the process terminates immediately. If the tag is in the network, in process 875, the tag ranging module finds N node slots (i.e., base stations) in the network (corresponding to the group polling slot 352 shown in Figure 3), and in process 880, the tag ranging module starts N ranging processes using the N node slots (i.e., base stations). Specifically, the tag's ranging module sends a ranging request to a base station and then receives a corresponding ranging response from the base station using a corresponding timestamp indicating the time of the TDMA tag slot-compatible tag (corresponding to base station response slot 354 as shown in Figure 3). In this case, in process 882, the ranging module may perform calculations based on the corresponding timestamp to determine a wake-up time to synchronize with the network. In process 884, the ranging module may store all ranging information together with all base stations within its range. In process 886, the ranging module may perform a position calculation (corresponding to position calculation slot 356 as shown in Figure 3). In process 888, the ranging module may control the tag's components to enter deep sleep mode, with only the RTC remaining active (corresponding to deep sleep slot 336 as shown in Figure 3). In process 890, after the next wake-up time has elapsed (corresponding to wake-up slot 334 as shown in Figure 3) The RTC then performs the wake-up process, and the ranging module returns to process 870.

[0095] In the method described above, the tag periodically wakes up to check if it can move away from any nearby base station (or multiple base stations). However, it is possible that the tag may be located outside the range of all base stations. In this case, if the tag does not receive a ranging response, it means that there are no available base stations nearby. Therefore, the tag's clock may gradually drift over time. However, once the tag returns to the network (for example, once the tag moves within the range of at least one base station), the tag will receive a ranging response from the base station and will be able to perform the corresponding clock synchronization. If the tag's lease time has already expired, the tag may send another reservation request for a new TDMA tag slot in order to rejoin the network.

[0096] In the above embodiment, the ranging process is performed using N rangings that the tag is communicating at any given time at its current location (using (2*N) packets, where N represents the number of anchors (i.e., base stations)). The tag operates simultaneously in both transmit and receive modes. Clock synchronization packets and TDMA are used to enable system-wide time synchronization, and all nodes in the network are calibrated to a clock accuracy of less than 500 picoseconds.

[0097] Another aspect of the present disclosure provides a non-temporary, tangible, computer-readable medium for storing computer-executable code or instructions, which, when executed by one or more processors of a system (such as the base station shown in Figures 2A and 2B, and / or the tag shown in Figures 4A and 4B), cause the above-described method to be performed on the base station and / or the tag. The computer-executable instructions or program code enable the system disclosed above or a similar system to complete various operations in accordance with the above-described method. The storage medium / memory may include, but is not limited to, high-speed random-access medium / memory such as DRAM, SRAM, DDR RAM or other random-access solid-state memory devices, and non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.

[0098] In certain embodiments, the system disclosed in the above embodiments may provide high-precision microlocation data, position, or tracking of any tangible asset in near real-time, and thus accurate 3D precision may be achieved by using multiple base stations or anchors. Since all nodes in the system are clock-synchronized, packet collisions and packet drops can be avoided. The disclosure may enable the system to achieve high precision based on machine learning-based algorithms that take reflected signals into account and attempt to eliminate contaminated data, which may be useful in high-interference and non-LOS conditions.

[0099] Furthermore, in certain embodiments, the diversity of firmware provided in the system allows the speed tracking solution to meet specific needs through this disclosure and enables better control of the tracking system. During operation, real-time positioning of the tag is performed at a speed of 2 microseconds, with four base stations nearby, and the tag is moving at a maximum speed of 60 km / h.

[0100] Furthermore, as mentioned above, the tags used in the system may be low-power tags. Since the battery life of tags is always a customer concern, this disclosure allows users to extend standard battery life by approximately 36 times (from one week to 36 weeks with the same battery capacity) compared to current existing solutions.

[0101] The foregoing description of exemplary embodiments of this disclosure is provided for illustrative and explanatory purposes only and is not intended to be exhaustive or to limit this disclosure to the exact form disclosed. Many modifications and variations are possible in light of the above teachings.

[0102] The embodiments have been selected and described to illustrate the principles of the Disclosure and their practical applications, so that those skilled in the art may utilize the Disclosure and its various embodiments with various modifications suitable for the specific use to be intended. Alternative embodiments will become apparent to those skilled in the art to which the Disclosure relates without departing from the spirit and scope thereof. Accordingly, the scope of the Disclosure is defined by the appended claims, rather than by the foregoing description and the exemplary embodiments described herein.

[0103] In describing this disclosure, several references, which may include patents, patent applications, and various publications, are cited and discussed. Such citations and / or discussions of references are provided solely to clarify the description of this disclosure and do not constitute an admission that such references are “prior art” of the disclosures described herein. All references cited and discussed herein are incorporated herein by reference in whole and to the same extent as if each reference were incorporated individually by reference. [Explanation of symbols]

[0104] 100 Systems 110 Network 120 base station 130 tags 140 servers 150 vehicles 200 base stations 210 processors 220 memory 225 Network Interfaces 230 Storage Devices 240 bus 250 base station modules 260 Anchor Configuration Modules 270 Clock Calibration Packet (CCP) Module 280 Personal Area Network (PAN) Identifier (ID) and Slot ID Module 290 TDMA module 295 Databases 310 TDMA slots 312 CCP slots 314 PAN ID request slots 316 PAN ID response slots 318 TDMA tag slots 330 slots 332 rangefinder slots 334 Wake-up Slots 336 Deep Sleep Slots 350 node slots 352 Group Polling Slots 354 base station response slots 356 position calculation slots 358 data uplink slots 400 tags 405 Real-time Clock (RTC) 410 Processor 420 memory 425 Network Interfaces 430 Storage Devices 440 bus 450 tag modules 460 Tag Configuration Modules 470 Tag CCP Module 480 Tag Slot ID Module 490 Rangefinder Module 495 Databases 605 Process 610 processes 615 Processes 620 processes 710 processes 712 Processes 715 Processes 805 Process 810 processes 815 Processes 820 processes

Claims

1. A system that performs position tracking using ultra-wideband (UWB), A network formed by multiple base stations that are communicably connected to each other and to multiple tags, wherein one of the base stations is configured as a master base station, each of the remaining base stations is configured as a slave base station, and each of the base stations has a processor and a non-temporary storage device for storing first computer executable code. When the first computer executable code is executed in each of the processors of the base station, each of the processors of the base station will execute the following: Configuring multiple time-division multiple access (TDMA) slots within a predetermined time frame, wherein each TDMA slot sequentially includes a clock calibration packet (CCP) slot, a personal area network (PAN) identifier request slot, a PAN identifier response slot, and multiple TDMA tag slots for the tag, Creating a plurality of timers for the TDMA slot, wherein each of the timers is configured to indicate the time of one of the TDMA slots, In the CCP slot, clock synchronization between base stations is performed, In the aforementioned PAN identifier request slot, In the case of the master base station, it listens for reservation requests from each of the slave base stations and the tags, In the case of the slave base station, the reservation request is transmitted to the master base station, and the reservation request is relayed from the tag to the master base station. In the PAN identifier response slot, In the case of the master base station, in response to the reservation request received from each of the slave base stations and the tags, the master base station records each of the slave base stations and the tags, assigns a corresponding TDMA tag slot to each of the tags that sent the reservation request, and sends a corresponding reservation response to each of the slave base stations and the tags, respectively. In the case of the slave base station, it receives the corresponding reservation response from the master base station, Each of the TDMA tag slots listens for distance measurement requests from the tag, and in response to receiving a corresponding distance measurement request from the corresponding tag of the tag, sends a corresponding distance measurement response to the corresponding tag using a corresponding timestamp indicating the time of the TDMA tag slot corresponding to the corresponding tag. A system that executes an action.

2. The system according to claim 1, wherein the predetermined time frame is 1 second, the number of TDMA time slots within the predetermined time frame is 160, and the duration of each of the TDMA time slots is 6300 microseconds.

3. When the first computer executable code is executed in each of the processors of the base station, each of the processors of the base station will execute the following: Defining multiple callbacks, wherein each callback corresponds to a TDMA slot on a one-to-one basis, In response to the timer indicating the start of the time for each of the TDMA slots, trigger one of the corresponding callbacks for the base station and the tag corresponding to the TDMA slots. The system according to claim 1, further enabling the execution of the following:

4. Each of the tags has a processor, a real-time clock (RTC), and a non-temporary storage device for storing second computer executable code, and when the second computer executable code is executed in the processor of a particular tag, the processor of that particular tag In the CCP slot, clock synchronization is performed between the base station and the specific tag, In the PAN identifier request slot, the reservation request is transmitted to the base station, In the PAN identifier response slot, the corresponding reservation request is received from the base station, In each of the aforementioned TDMA tag slots, Transmitting the corresponding ranging request to the base station in the TDMA tag slot corresponding to the specific tag, Receiving the corresponding distance measurement response having the corresponding timestamp from the base station, Calculating a wake-up time based on the corresponding timestamp, wherein the wake-up time is a time period prior to the time of the TDMA tag slot corresponding to the specific tag. Entering deep sleep mode, wherein the RTC remains active in the deep sleep mode, In response to the RTC indicating the wake-up time, wake up from the deep sleep mode, perform a position calculation to obtain location information in the TDMA tag slot corresponding to the specific tag, and re-enter the deep sleep mode after the TDMA tag slot corresponding to the specific tag. The system according to claim 1, which causes the execution of the following:

5. When the first computer executable code is executed in each of the processors of the base station, each of the processors of the base station will execute the following: In the case of the aforementioned master base station, the transmission of a clock synchronization packet and In the case of the slave base station, it receives the clock synchronization packet from the master base station, synchronizes the local clock of the slave base station by referring to the master base station based on the information in the clock synchronization packet, and relays the clock synchronization packet. The system according to claim 4, wherein clock synchronization is performed between the base stations in the CCP slot by means of the CCP slot.

6. The system according to claim 5, wherein when the second computer executable code is executed in the processor of the particular tag, the processor of the particular tag receives the clock synchronization packet from the base station and synchronizes the local clock of the particular tag by referring to the master base station based on the information in the clock synchronization packet, thereby causing clock synchronization to be performed between the base station and the particular tag in the CCP slot.

7. The system according to claim 4, wherein the wake-up time is 250 microseconds prior to the time of the TDMA tag slot corresponding to the specific tag.

8. When the second computer executable code is executed in the processor of the specific tag, the processor of the specific tag will perform the following actions: The configuration involves configuring multiple node slots within the TDMA tag slot corresponding to the specific tag, wherein the node slots sequentially include a group polling slot, multiple base station response slots, a position calculation slot, and a data uplink slot. Within the TDMA tag slot corresponding to the specific tag, The group polling within the group polling slot transmits the corresponding ranging request to the base station, Receiving the corresponding distance measurement response from each of the base stations within one of the corresponding base station response slots, To obtain the position identification information within the position calculation slot, a position calculation is performed. Uploading the location information acquired within the data uplink slot. The system according to claim 4, further enabling the execution of the following:

9. The system according to claim 8, wherein the number of base station response slots in the TDMA tag slot corresponding to the specific tag is 16, the time for the TDMA tag slot corresponding to the specific tag is 6300 microseconds, the time for the group polling slot is 200 microseconds, and the total time for the base station response slots is 4500 microseconds.

10. A tag that performs location tracking using ultra-wideband (UWB), It comprises a processor, a real-time clock (RTC), and a non-temporary storage device for storing computer executable code, The tag is communicatively connected to a network formed by multiple base stations, one of the base stations is configured as a master base station, and each of the remaining base stations is configured as a slave base station. When the computer executable code is executed in the processor of the tag, the processor of the tag will: The configuration involves configuring multiple time-division multiple access (TDMA) slots within a predetermined time frame, wherein each TDMA slot sequentially includes a clock calibration packet (CCP) slot, a personal area network (PAN) identifier request slot, a PAN identifier response slot, and multiple TDMA tag slots. Creating a plurality of timers for the TDMA slot, wherein each of the timers is configured to indicate the time of one of the TDMA slots, In the CCP slot, clock synchronization between the base station and the tag is performed, The transmission involves, in the PAN identifier request slot, transmitting a reservation request to the base station, wherein the base station is configured to respond to the reservation request by assigning the corresponding TDMA tag slot to the tag. In the PAN identifier response slot, the corresponding reservation request is received from the base station, In each of the aforementioned TDMA tag slots, Transmitting the corresponding ranging request to the base station in the TDMA tag slot corresponding to the tag, wherein the base station is configured to transmit the corresponding ranging response to the tag along with the corresponding timestamp indicating the time in the TDMA tag slot corresponding to the tag. Receiving the corresponding distance measurement response having the corresponding timestamp from the base station, Calculating a wake-up time based on the corresponding timestamp, wherein the wake-up time is a time period prior to the time of the TDMA tag slot corresponding to the tag. Entering deep sleep mode, wherein the RTC remains active in the deep sleep mode, In response to the RTC indicating the wake-up time, the device wakes up from the deep sleep mode, performs a position calculation to obtain location information within the TDMA tag slot corresponding to the tag, and then re-enters the deep sleep mode after the TDMA tag slot corresponding to the tag. A tag that causes an action to be performed.

11. The tag according to claim 10, wherein when the computer executable code is executed in the processor of the tag, the processor of the tag receives a clock synchronization packet from the base station and synchronizes the local clock of the tag by referring to the master base station based on the information in the clock synchronization packet, thereby causing clock synchronization to be performed between the base station and the tag in the CCP slot.

12. The tag according to claim 11, wherein the clock synchronization packet is transmitted by the master base station or relayed by the slave base station.

13. The tag according to claim 10, wherein the wake-up time is 250 microseconds prior to the time in the TDMA tag slot corresponding to a specific tag.

14. When the computer executable code is executed in the processor of the tag, the processor of the tag will: The configuration involves configuring multiple node slots within the TDMA tag slot corresponding to the aforementioned tag, wherein the node slots sequentially include a group polling slot, multiple base station response slots, a position calculation slot, and a data uplink slot. Within the TDMA tag slot corresponding to the aforementioned tag, The group polling within the group polling slot transmits the corresponding ranging request to the base station, Receiving the corresponding distance measurement response from each of the base stations within one of the corresponding base station response slots, To obtain the position identification information within the position calculation slot, a position calculation is performed. Uploading the location information acquired within the data uplink slot. The tag according to claim 10, which further enables execution.

15. The tag according to claim 14, wherein the number of base station response slots in the TDMA tag slot corresponding to a specific tag is 16, the time for the TDMA tag slot corresponding to the tag is 6300 microseconds, the time for the group polling slot is 200 microseconds, and the total time for the base station response slots is 4500 microseconds.

16. A method for performing position tracking using ultra-wideband (UWB), A step of providing a network formed by a plurality of base stations that are communicately connected to each other and to a plurality of tags, wherein one of the base stations is configured as a master base station, and each of the remaining base stations is configured as a slave base station, A step of configuring multiple time-division multiple access (TDMA) slots within a predetermined time frame, wherein each TDMA slot sequentially includes a clock calibration packet (CCP) slot, a personal area network (PAN) identifier request slot, a PAN identifier response slot, and a plurality of TDMA tag slots for the tag; A step of creating a plurality of timers for the TDMA slot, wherein each of the timers is configured to indicate the time of one of the TDMA slots, In the CCP slot, the steps include performing clock synchronization between the base station and the tag, In the aforementioned PAN identifier request slot, In the case of the master base station, the steps include listening for reservation requests from each of the slave base stations and the tags, In the case of the slave base station, the steps include transmitting the reservation request to the master base station and relaying the reservation request from the tag to the master base station, In the PAN identifier response slot, In the case of the master base station, the steps include: recording the slave base station and the tag in response to the reservation request received from each of the slave base station and the tag, assigning a TDMA tag slot corresponding to each of the tags that sent the reservation request, and sending a corresponding reservation response to each of the slave base station and the tag, respectively; In the case of the slave base station, the steps include receiving the corresponding reservation response from the master base station, In each of the TDMA tag slots, the base station listens for ranging requests from the tag and, in response to receiving a ranging request from the corresponding tag of the tag, transmits a ranging response to the corresponding tag using a corresponding timestamp indicating the time in the TDMA tag slot corresponding to the corresponding tag. A method that includes [a certain feature].

17. A step of defining multiple callbacks, wherein each callback corresponds one-to-one with the TDMA slot, A step of triggering one of the corresponding callbacks corresponding to the TDMA slots of the base station and the tag in response to the timer indicating the start of the time for each of the TDMA slots. The method according to claim 16, further comprising:

18. The clock synchronization between the base stations in the CCP slot is In the case of the aforementioned master base station, the transmission of a clock synchronization packet and In the case of the slave base station, it receives the clock synchronization packet from the master base station, synchronizes the local clock of the slave base station by referring to the master base station based on the information in the clock synchronization packet, and relays the clock synchronization packet. In each of the aforementioned tags, the clock synchronization packet is received from the base station, and based on the information in the clock synchronization packet, the local clock of each of the tags is synchronized by referring to the master base station. The method according to claim 16, as performed by...

19. The specific tag mentioned above is In the CCP slot, clock synchronization is performed between the base station and the specific tag. In the PAN identifier request slot, the reservation request is transmitted to the base station, In the PAN identifier response slot, the corresponding reservation request is received from the base station, In each of the aforementioned TDMA tag slots, Transmitting the corresponding ranging request to the base station in the TDMA tag slot corresponding to the specific tag, Receiving the corresponding distance measurement response having the corresponding timestamp from the base station, Calculating a wake-up time based on the corresponding timestamp, wherein the wake-up time is a time period prior to the time of the TDMA tag slot corresponding to the specific tag. Entering deep sleep mode, wherein the real-time clock (RTC) of the specific tag remains active in the deep sleep mode, In response to the RTC indicating the wake-up time, wake up from the deep sleep mode, perform a position calculation to obtain location information in the TDMA tag slot corresponding to the specific tag, and re-enter the deep sleep mode after the TDMA tag slot corresponding to the specific tag. The method according to claim 16, configured to perform.

20. The aforementioned specific tag, The configuration involves configuring multiple node slots within the TDMA tag slot corresponding to the aforementioned tag, wherein the node slots sequentially include a group polling slot, multiple base station response slots, a position calculation slot, and a data uplink slot. Within the TDMA tag slot corresponding to the aforementioned tag, The group polling within the group polling slot transmits the corresponding ranging request to the base station, Receiving the corresponding distance measurement response from each of the base stations within one of the corresponding base station response slots, To obtain the position identification information within the position calculation slot, a position calculation is performed. Uploading the location information acquired within the data uplink slot. The method according to claim 19, further configured to perform

Citation Information

Patent Citations

  • Label positioning method and device, storage medium and electronic device

    CN112468957A

  • Distributed localization system and method and self-localizing device

    JP2018510366A

  • Positioning System

    JP2019520555A

  • Time-of-flight based unified positioning system and methods

    WO2021148415A1