Uwb positioning method, system, device and readable storage medium
Patent Information
- Application Number
- CN202610831042.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-09
- Publication Date
- 2026-08-18
AI Technical Summary
[0004]本申请实施例提供一种UWB定位方法、系统、电子设备及计算机可读存储介质,旨在改善现有UWB系统在大规模部署和多锚点协同测距中存在的信道拥堵,导致容量受限以及扩展性不足的问题
[0010] The technical solution provided in this application separates the computationally intensive positioning calculation, general data backhaul, and proprietary precision ranging into a layered design. This allows anchor points, acting as network coordinators, to sequentially perform polling ranging and new node network access based on a dynamically maintained tag lookup table. Simultaneously, by combining the anchor lookup table with orderly ranging right-of-way scheduling among anchor points, strict channel time-slice flow is implemented at the underlying logic level. This centralized scheduling and dynamic network management mechanism effectively avoids wireless communication conflicts caused by disordered competition in complex environments with multiple tags and anchor points, significantly reducing system bottlenecks caused by single anchor point capacity limitations. This, in turn, significantly improves positioning accuracy, response latency stability, and system scalability during large-scale system deployments.
Smart Images

Figure CN122602066A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of Internet of Things and wireless communication technology, and in particular to a UWB positioning method, system, electronic device and readable storage medium. Background Technology
[0002] In the field of UWB (Ultra-Wideband) positioning technology, traditional UWB systems typically rely on ranging between a small number of anchor points and a small number of tags for positioning, with each anchor point operating in a fixed time slot. While this approach can provide relatively ideal positioning accuracy in small-scale systems, problems such as coordination between anchor points, tag number expansion, signal multipath effects, and interference gradually emerge when the system is scaled up.
[0003] Existing technologies often suffer from limitations in tag quantity and system capacity scaling in ultra-large-scale, multi-anchor-point application scenarios. Due to the lack of efficient multi-anchor-point coordination mechanisms and dynamic self-organizing network scheduling capabilities, traditional positioning systems are prone to severe channel bottlenecks due to single-anchor-point capacity limitations, resulting in serious deficiencies in positioning accuracy, stability, and scalability in complex environments. Summary of the Invention
[0004] This application provides a UWB positioning method, system, electronic device, and computer-readable storage medium, aiming to improve the channel congestion problems, capacity limitations, and insufficient scalability of existing UWB systems in large-scale deployment and multi-anchor point cooperative ranging.
[0005] In a first aspect, embodiments of this application provide a UWB positioning method applied to anchor points. The method includes: based on a local tag lookup table, sequentially sending ranging requests to each tag to be measured in the local tag lookup table to obtain ranging information corresponding to each tag; after sending the ranging requests to the local tag lookup table, broadcasting a network request, and adding the address of the tag that sent the network response to the local tag lookup table based on the received network response, thereby updating the local tag lookup table; reporting the obtained ranging information to a positioning server, and determining the next target anchor point in the network according to the local anchor point lookup table, and transferring the ranging right to the next target anchor point.
[0006] Secondly, embodiments of this application provide a UWB positioning method applied to a tag. The method includes: monitoring a wireless channel to obtain a downlink request sent by a target anchor point; if the downlink request is a ranging request, determining whether the address of the target anchor point is contained in a local anchor point lookup table; if the address of the target anchor point is contained, performing a ranging protocol with the target anchor point; if the downlink request is a networking request, determining whether the address of the target anchor point is contained in the local anchor point lookup table; if the address of the target anchor point is not contained, sending a networking response to the target anchor point and adding the address of the target anchor point to the local anchor point lookup table to update the local anchor point lookup table.
[0007] Thirdly, embodiments of this application provide a UWB positioning system, including a positioning server, at least one tag, and multiple anchor points, wherein each anchor point is communicatively connected to the others, each anchor point is communicatively connected to the tag, and the positioning server is communicatively connected to each anchor point; the anchor points are used to execute the UWB positioning method as described in the first aspect; and the tag is used to execute the UWB positioning method as described in the second aspect.
[0008] Fourthly, embodiments of this application provide an electronic device, including a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program to implement the UWB positioning method as described in the first or second aspect.
[0009] Fifthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the UWB positioning method as described in the first or second aspect.
[0010] The technical solution provided in this application separates the computationally intensive positioning calculation, general data backhaul, and proprietary precision ranging into a layered design. This allows anchor points, acting as network coordinators, to sequentially perform polling ranging and new node network access based on a dynamically maintained tag lookup table. Simultaneously, by combining the anchor lookup table with orderly ranging right-of-way scheduling among anchor points, strict channel time-slice flow is implemented at the underlying logic level. This centralized scheduling and dynamic network management mechanism effectively avoids wireless communication conflicts caused by disordered competition in complex environments with multiple tags and anchor points, significantly reducing system bottlenecks caused by single anchor point capacity limitations. This, in turn, significantly improves positioning accuracy, response latency stability, and system scalability during large-scale system deployments. Attached Figure Description
[0011] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 This is a hardware configuration diagram of a UWB positioning system provided in one embodiment of this application; Figure 2 This is a flowchart illustrating the anchor point side of a UWB positioning method provided in an embodiment of this application; Figure 3 This is a flowchart illustrating a UWB anchor point state machine provided in one embodiment of this application; Figure 4 This is a schematic flowchart of a UWB positioning method provided in an embodiment of this application, showing a step on the tag side. Figure 5 This is a flowchart illustrating a UWB tag state machine according to an embodiment of this application; Figure 6 This is another flowchart illustrating the anchor point side of a UWB positioning method provided in one embodiment of this application; Figure 7 This is another flowchart illustrating the tag side of a UWB positioning method provided in one embodiment of this application. Detailed Implementation
[0013] To make the technical problems, technical solutions, and beneficial effects solved by this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0014] like Figure 1As shown, this invention relates to a UWB positioning device and system implementation for a dynamic network of numerous anchor points and numerous tags. The UWB positioning system includes positioning tags, anchor points (as an example, including anchor points A1, A2, A3, and A4), a router, and a positioning server. In terms of communication topology, the router communicates with the positioning server, the anchor points communicate with the router, the anchor points communicate with each other, and the anchor points also maintain communication with the tags. In terms of the underlying hardware architecture, each anchor point has a first transmitting module and a first receiving module, and each tag has a second transmitting module and a second receiving module. Broadcast frames emitted by the first transmitting module of an anchor point can be sent to the first receiving modules of other anchor points and the second receiving modules of the tags, while broadcast frames emitted by the second transmitting module of the tags can be sent to the first receiving modules of anchor points. Through the above hardware layout and module configuration, the system provides a robust data exchange channel at the physical layer for multi-dimensional bidirectional ranging and distributed networking.
[0015] In one embodiment, such as Figure 1 and Figure 3 As shown, a UWB positioning method is provided, applied to anchor points. The method includes the following steps: S101. Based on the local label lookup table, send a ranging request to each label to be measured in the local label lookup table in turn to obtain the ranging information corresponding to each label to be measured. S102. After sending the ranging request to the local tag lookup table, broadcast the networking request and add the address of the tag that sent the networking response to the local tag lookup table based on the received networking response, so as to update the local tag lookup table. S103. The acquired ranging information is reported to the positioning server, and the next target anchor point in the network is determined according to the local anchor point lookup table, and the ranging right is transferred to the next target anchor point.
[0016] In this embodiment, regarding step S101, the anchor point, as the infrastructure and coordinator of the entire wireless network, is responsible for network setup, channel scheduling, initiating ranging procedures, and data aggregation. The "local label lookup table" is a dynamic data structure that dynamically adds or removes nodes during the anchor point's lifecycle. Internally, it maintains a list of labels successfully connected (networked) to the anchor point. During the specific ranging procedure, the anchor point acts as the initiator, sequentially initiating ranging for each label (label 1, label 2, ..., label n) in the lookup table. As an example, this ranging request might trigger Two-Way Ranging (TWToF) or other precise latency measurement protocols. By measuring the round-trip time of the UWB signal between the two, the physical spatial distance between them is calculated, thereby obtaining the corresponding ranging information.
[0017] In step S102, after ranging the known tags, the system enters the network boundary expansion and dynamic maintenance phase. The anchor point actively broadcasts invitations to new tags not yet networked in the environment to join, i.e., it broadcasts a network formation request to invite new tags not yet connected to the network to join the current system. If a new tag requests network formation, the anchor point completes a handshake process with it. Upon successful handshake, the anchor point dynamically appends the new tag's address information to its local tag lookup table and updates the table. This process ensures that new tags can be discovered and located in a timely manner.
[0018] Regarding step S103, after acquiring all distance data obtained in this ranging cycle, the anchor point adopts a hierarchical design principle of high cohesion and low coupling, separating the computationally intensive positioning calculation, general data backhaul, and proprietary precision ranging. The anchor point does not directly perform computationally intensive coordinate calculations locally, but instead sends the data to the positioning server via a router for centralized processing. Subsequently, this anchor point enters the inter-anchor point synchronization phase. It polls the anchor points in the "local anchor point lookup table" (which can be a fixed table or a linked list, meaning each anchor point has the addresses of all other anchor points in the anchor point network) in a specific order to determine the next target anchor point in the network, and then transfers the ranging rights to the next anchor point in the network, starting a new cycle.
[0019] As can be seen, in this embodiment, by employing the aforementioned polling ranging based on a dynamic tag lookup table, new node broadcast admission, combined with ranging information stripping and reporting, and an orderly transfer mechanism for ranging rights based on an anchor point lookup table, the high-energy-consuming positioning calculation, data backhaul, and dedicated precision ranging are completely separated at the system's underlying layer. Furthermore, strict time-slice flow between anchor points is achieved on the physical channel. This centralized scheduling and dynamic network management mechanism effectively avoids wireless communication conflicts in multi-tag, multi-anchor-point environments, ensuring system stability and scalability. Simultaneously, it significantly reduces the system bottleneck caused by single-anchor-point capacity limitations in traditional positioning systems, thereby significantly improving the system's ability to accommodate a large number of nodes while maintaining stable operation in multi-anchor-point application scenarios through network self-organization and dynamic tag entry mechanisms, ensuring high system reliability, low latency, and self-organization capabilities.
[0020] In one embodiment, before sequentially sending a ranging request to each tag to be measured in the local tag lookup table to obtain ranging information corresponding to each tag, the method further includes: S201. Determine if the local tag lookup table is empty; S202. If the local label lookup table is empty, skip the step of sending a ranging request to each label to be measured in the local label lookup table in turn to obtain the ranging information corresponding to each label to be measured, and execute the broadcast networking request operation.
[0021] In this embodiment, for step S201, a pre-emptive check logic for an empty table is introduced into the internal flow control state machine of the anchor point. At the specific physical and data structure level, the "local tag lookup table" is a list of tags that have been successfully connected to the anchor point (i.e., networked) and are in an active state. Before starting any new communication cycle, the system will first perform a self-check on the state of the lookup table. As an example, the system can quickly determine this by reading the memory usage length of the data structure, the node count counter, or the null value of the linked list head pointer by the underlying processor. This pre-detection mechanism is mainly applicable to two typical physical scenarios: one is when the anchor point device has just been powered on and completed network initialization, and no tag nodes have registered or connected at this time; the other is when, after the device has been running for a period of time, all tags originally associated with it have gone offline due to physical movement beyond the wireless coverage range of the base station or hardware failures such as battery depletion, resulting in the node records in the lookup table being completely cleared by the cleanup mechanism.
[0022] Regarding step S202, when the system determines through self-test that there are indeed no live tag records in the local tag lookup table, its underlying firmware logic will trigger a dynamic conditional branch jump. Specifically, the controller's program execution pointer will directly skip the originally time-consuming loop code module of "sending ranging requests to known tags sequentially and waiting for replies," and directly jump to the admission broadcast stage for unnetworked tags. At this time, the system no longer activates the underlying radio frequency module to perform meaningless fixed-point and directional transmission and channel silent waiting, but directly executes the broadcast network request operation, actively broadcasting its own identity and network liveness information to a wide range of surrounding wireless spaces. Through this direct jump, the anchor point dedicates all communication cycles and channel resources to finding new tags in the environment, actively inviting tags that have not yet joined the network to register their identity and network handshake.
[0023] In this embodiment, a dynamic pre-judgment is set before initiating polling ranging to check if the tag lookup table is empty. Upon confirmation of an empty table, a branch jump is directly triggered to execute the active broadcast networking request. This adaptive process scheduling mechanism based on internal state awareness avoids invalid channel polling and prolonged timeouts by the RF transceiver module when there are no active nodes, completely eliminating system idle states and unnecessary energy consumption. The specific technical effects are: it not only significantly reduces the invalid occupancy rate of the RF band, but also significantly accelerates the speed at which new tags are promptly discovered, captured, and quickly registered in the network during the initial network establishment phase or in scenarios involving large-scale tag migration within the environment, comprehensively improving the system's channel utilization efficiency and real-time response capability to dynamic physical environments.
[0024] In one embodiment, the method further includes an anchor point insertion step, which includes: S301. Scan the wireless channel to listen for the presence of other anchor broadcast beacons; S302. If no other anchor point broadcast beacon is detected, the anchor point network is established by itself as the first anchor point. S303. If other anchor point broadcast beacons are detected, join the existing anchor point network.
[0025] This embodiment illustrates the network ad-hoc capability at the anchor point level. Regarding step S301, after the anchor device powers on and completes hardware self-tests (such as the first receiving module and the first transmitting module), firmware loading, and protocol stack initialization, the anchor point will not blindly transmit radio frequency signals. Instead, it will first activate its first receiving module and enter a deep channel listening state. In this state, the anchor point will continuously scan the current physical radio environment frequency band to detect whether other anchor points conforming to this UWB system protocol are transmitting periodic broadcast beacons announcing their existence. A "broadcast beacon" physically refers to a radio control and management frame that contains metadata such as device identification and network status and does not specify a single receiver.
[0026] Regarding step S302, if no broadcast beacons from any other anchors are detected within the system's preset scanning period, this means, in terms of network physical topology, that the current environment is completely silent, and no operating distributed anchor cluster exists. At this time, the anchor will execute a bootstrap procedure, automatically upgrading its role to that of the basic coordinator of the entire network, that is, announcing the establishment of a brand new anchor network as the first anchor. After becoming the first anchor, it will begin to assume the responsibilities of managing channel allocation, sending synchronization beacons, and accepting access requests from other subsequent anchors or tags.
[0027] Conversely, regarding step S303, if broadcast beacons from other anchor points are successfully detected during the scanning process, it indicates that an existing anchor point network is already deployed and operational in the current environment. In this case, the anchor point will not repeatedly establish a new network. Instead, as a newly joined node, it will attempt to listen for access commands (such as allowing ranging requests) sent to it by other anchor points already in the network, initiate the network handshake and identity registration process, and seamlessly join the existing anchor point network, entering a state of waiting for coordinated scheduling from other anchor points in the network.
[0028] In this embodiment, a dynamic decision-making mechanism based on underlying wireless channel monitoring status awareness (i.e., monitoring broadcast beacons) is introduced during the anchor point network entry phase. Based on the monitoring results, the system automatically selects between self-bootstrapping and joining an existing network. This mechanism completely eliminates the reliance on manually pre-designating master / slave node centers or manually configuring static network topologies at the underlying communication logic level. The specific technical effects are: it endows the entire UWB positioning system with decentralized intelligent bootstrapping and self-organizing reconfiguration capabilities, enabling anchor points to be deployed arbitrarily or powered on in batches in ultra-large-scale warehouses or complex industrial sites, achieving zero-configuration dynamic automatic networking. This significantly reduces the manual coordination and configuration costs of network deployment and significantly improves the fault tolerance and scalability of large-scale network deployments.
[0029] In one embodiment, adding an existing anchor network includes: S401. Listen for polling distance measurement requests sent by other anchor points and record the corresponding listening time; S402. Determine whether the listening time has reached the preset timeout period; S403. If the preset timeout period has not been reached, send a reply message to other anchor points that sent the polling ranging request to join the existing anchor point network. S404. If the preset timeout period is reached, check whether there is a channel conflict with other anchor points; S405. If a channel conflict exists, execute the conflict handling procedure and terminate the operation of joining an existing anchor network; if no channel conflict exists, directly terminate the operation of joining an existing anchor network.
[0030] In this embodiment, regarding steps S401 and S402, in a distributed system, after a newly added anchor point detects the existence of the network, it will not blindly preempt the channel and actively send packets to avoid interfering with the ongoing communication sequence. Its underlying radio frequency module will enter a suspended listening mode, attempting to passively join the existing network by listening to ranging permission requests sent to it by other anchor points (i.e., polling ranging requests), and waiting for instructions from other anchor points in the network. Simultaneously, to prevent the new anchor point from falling into a deadlock state of indefinite waiting due to network anomalies, the system sets a timeout mechanism at the firmware level. As an example, the system starts a local timer to record the "listening time" and continuously compares it with a preset physical time threshold (i.e., the "preset timeout time," for example, 500 milliseconds).
[0031] Regarding step S403, if the system successfully receives a polling ranging request with its own address identifier within a healthy time window (i.e., the listening time has not reached the preset timeout), this physically indicates that the original network coordinator has allocated a legitimate channel time slice for it. At this time, the anchor point will immediately send back a reply message (ACK) to the anchor point that sent the request via the wireless link, thereby officially registering into the network topologically and becoming a member of the existing anchor point network.
[0032] For steps S404 and S405, when the listening time reaches the preset timeout period, the process will skip or terminate the current access attempt. This presents a more complex network edge scenario: in a distributed system, if a core working anchor point that is currently leading communication suddenly goes offline or fails, other anchor points in a silent waiting state may simultaneously enter the timeout mechanism because they have not received scheduling instructions. This concurrent state of multiple nodes sending messages simultaneously can easily lead to multiple anchor points transmitting information at the same time, thus causing severe channel conflicts (i.e., radio wave collisions) at the radio frequency physical layer. Therefore, this step indicates that the system needs to design and implement a strict conflict detection mechanism (such as CSMA / CA, i.e., Carrier Sense Multiple Access / Collision Avoidance Mechanism). If the underlying algorithm detects that the channel energy is higher than the noise floor threshold, i.e., once a conflict is detected, the system will immediately trigger a backoff algorithm and other "conflict handling" procedures. In the conflict handling process, the node uses a random number generator to generate a random delay time for backoff, thereby staggering the next transmission time of each anchor point, ensuring the orderly use of the channel, and safely terminating the current network access operation to avoid exacerbating congestion. Conversely, if no signal overlap or other conflicts are detected, the system will skip the backoff overhead, terminate the access attempt directly, and return to the initial state.
[0033] In this embodiment, local timeout monitoring is introduced into the dynamic network access process, and a mandatory in-line underlying channel conflict detection and CSMA / CA backoff mechanism is implemented after a timeout. This feature eliminates the channel avalanche congestion deadlock caused by a large number of concurrent requests from devices when a core node goes offline or the network is rebuilt on a large scale, at the underlying communication protocol level. The specific technical effects are: it not only effectively avoids the indefinite suspension and waste of new nodes, but also disperses the concurrency surge through conflict backoff, ensuring the orderly sharing of radio frequency channel resources in a high-density coexistence environment with multiple anchor points, and greatly improving the system's fault tolerance and stability in the face of abnormal situations such as local device offline.
[0034] In one embodiment, based on a local tag lookup table, a ranging request is sequentially sent to each tag to be measured in the local tag lookup table to obtain ranging information corresponding to each tag, including: S501. For each tag to be measured in the local tag lookup table, determine whether a ranging response has been received from the tag to be measured in response to the ranging request. S502. If a ranging response is received, the first heartbeat counter corresponding to the tag to be ranging is cleared, and a two-way ranging protocol is executed with the tag to be ranging to obtain the corresponding ranging information. S503. If no ranging response is received, increment the first heartbeat counter corresponding to the tag to be ranging and determine whether the first heartbeat counter has reached the first threshold. S504. If the first heartbeat counter reaches the first threshold, the corresponding distance label to be measured is deleted from the local label lookup table.
[0035] This embodiment relates to a node lifecycle management mechanism based on dynamic heartbeats. Regarding steps S501 and S502, the "first heartbeat counter" is physically a unique integer status register allocated in the anchor point's memory for each attached tag, used to accumulate the number of consecutive "disconnections" of that tag. In the actual polling ranging process, after the anchor point sends a ranging request to a specific tag based on its local tag lookup table, its underlying RF receiving module opens a specific time window to listen for the tag's response. If the ranging response signal from the tag to the ranging request is successfully captured within this RF window, it physically indicates that the tag is still within the anchor point's effective wireless communication coverage range, and the device's hardware and software are operating healthily and actively. At this time, the anchor point, at the logic control level, immediately clears and resets the first heartbeat counter associated with the tag (i.e., resets the value to zero) to confirm its active online status. Subsequently, the anchor point and the tag to be measured formally execute a two-way ranging protocol (such as DSTWR, a two-way two-way ranging protocol). By accurately measuring the time flight data of the UWB signal between the two parties, the physical spatial distance between them is calculated, thereby obtaining the corresponding ranging information.
[0036] Regarding steps S503 and S504, if the anchor point does not receive a ranging response from the tag to be measured within the preset listening window, the system needs to consider the occurrence of environmental or equipment anomalies. As an example, this disconnection might be due to the tag physically moving beyond the base station's radio frequency coverage, temporary severe multipath signal obstruction in the environment, or hardware failure such as the tag's battery running out. In this case, the anchor point will not immediately determine that the tag is invalid. Instead, it will increment the value of the first heartbeat counter corresponding to the tag to be measured, and determine whether the incremented first heartbeat counter has reached a preset first threshold. This first threshold sets the system's maximum tolerance for temporary device disconnection. If the value of the first heartbeat counter reaches this first threshold, the system will issue a death judgment, considering the tag to be completely offline or permanently invalid. In response, the anchor point's node management module will dynamically adjust the memory data structure, forcibly deleting the address information and all state contexts of the invalid tag from the local tag lookup table, and releasing the corresponding memory resources.
[0037] In this embodiment, by introducing a heartbeat accumulation detection and timeout filtering mechanism for individual tag devices during the ranging polling phase, the system can intelligently distinguish between online active tags and tags that have been offline for a long time or have exceeded their boundaries, and dynamically maintain the purity of the local communication list. This heartbeat and tag deletion-based mechanism effectively avoids anchor points from blindly sending ranging requests to expired tag targets, thus preventing valuable wireless ranging bandwidth and polling waiting time from being wasted. The specific technical effects are: it not only significantly improves the channel utilization rate at the system's underlying level, but also significantly enhances the positioning system's fault tolerance and self-healing recovery speed for abnormal situations such as mobile terminal devices going offline beyond their boundaries, ensuring the high reliability of the entire multi-anchor-point multi-tag system from the bottom up.
[0038] In one embodiment, determining the next target anchor point in the network based on a local anchor point lookup table and transferring ranging weights to the next target anchor point includes: S601. Based on the local anchor point lookup table, send polling distance measurement requests to other anchor points in the table in sequence, and listen for reply information; S602. If a reply message is received, the handover is confirmed to be successful and the channel listening state is entered. S603. If all other anchors in the local anchor lookup table have been traversed and no reply information has been received, then return to the operation of executing the local label lookup table, and sequentially sending a distance measurement request to each distance measurement label in the local label lookup table to obtain the distance measurement information corresponding to each distance measurement label.
[0039] This embodiment imposes deep constraints on the global flow and synchronous scheduling of the virtual system resource of ranging rights in a multi-anchor network. Regarding steps S601 and S602, in a distributed multi-anchor network, to ensure that only one anchor point dominates the transmission of downlink scheduling signals in the entire network topology at any given time, thereby avoiding co-channel interference, the system employs a relay handover strategy. Once the current master anchor point completes its current round of ranging and data reporting for known tags under its name, it enters the inter-anchor synchronization phase. At this time, the anchor point consults its local anchor lookup table. Physically, the local anchor lookup table is a network topology view data structure (which can be a fixed table or a dynamic linked list) maintained in the anchor point's memory, recording the address indexes of other cooperating anchor points in the current anchor network. The anchor point sends polling ranging request control frames to the next-order anchor point in the table according to a specific preset order, and activates its radio frequency receiving module to listen for the other party's response. If a response (e.g., an ACK confirmation frame) is received from the next anchor point within a very short time window, it indicates in physical communication logic that the ranging relay has been successfully passed to the next node in the network. At this point, the current anchor point confirms the successful handover, actively puts its broadcast initiation module into hibernation, quietly returns to the channel listening state, and yields the subsequent channel time slices to the newly acquired anchor point to perform the ranging task.
[0040] Regarding step S603, the system also considers severe edge scenarios such as network interference or partial device power outages in its underlying logic. If, during the attempt to hand over ranging rights, the current anchor point sends a request to the next anchor point but receives no response, it will continue to query the remaining anchor points in the table sequentially according to the underlying lookup table mechanism. If a regional network power outage or extreme signal blockage occurs, causing the current anchor point to traverse all other candidate anchor points in its local anchor lookup table without receiving any response, this topologically means that the current anchor point may have lost contact with all other anchor points in the network, becoming the only surviving isolated base station in the local area. To maintain the most basic operation of the positioning system, the anchor point will not fall into an indefinite deadlock of waiting for handover, but will forcibly regain system control. Its control logic will trigger a process jump, returning to execute the ranging operation based on the local label lookup table, that is, re-sending ranging requests to each label to be measured in its own label lookup table sequentially, independently starting a new round of ranging loop. As an example, the anchor point will be downgraded to a single-anchor-independent working mode to ensure that tags within its signal coverage area can still obtain the most basic spatial ranging and positioning services.
[0041] In this embodiment, a highly deterministic, low-collision-rate time-division multiplexing scheduling model is successfully constructed on the underlying physical channel through a strictly defined polling handover control based on a local anchor lookup table and a fallback takeover mechanism after traversal failure. This feature not only ensures seamless connection and efficient collaborative ranging among multiple base stations, completely avoiding broadcast storms and signal collisions caused by multiple anchors simultaneously competing for the channel; but also, in severe situations where some communication links are paralyzed or all surrounding collaborative anchors are offline, it endows surviving anchors with robust robustness to independently take over services and degrade and operate independently, thereby greatly improving the fault tolerance and recovery capability and network survival rate of the entire distributed positioning system in complex environments.
[0042] like Figure 3 and Figure 6 As shown, in one embodiment, a UWB positioning method is also provided, applied to an anchor point, the method comprising: like Figure 3 As shown, this includes the anchor state machine states: When device 001 is powered on, it performs hardware self-tests, loads parameters, and other preparatory work. After initialization, it immediately enters the listening state.
[0043] Anchor point 002 activates the first receiving module, scans the wireless environment, listens for broadcast beacons from other anchor points, and makes a decision.
[0044] If an anchor point detects the existence of other anchor points, it waits for those other anchor points to send broadcast beacons with the destination address of this anchor point.
[0045] When anchor point 003 receives a broadcast beacon from another anchor point with its destination address as the target address, it immediately broadcasts a reply to that anchor point, thus joining the anchor point network.
[0046] After this anchor point is added to the anchor point network, it enters the tag networking state.
[0047] If no other anchor points are detected, the anchor point will directly enter the tag networking state.
[0048] Anchor point 004 broadcasts its existence information to the tag, sends a network request, and listens for the tag's response. Upon receiving a response, the anchor point completes tag authentication and network registration. After successful authentication, the anchor point adds the tag to its lookup table and then begins ranging.
[0049] If no tag is responded, the system will directly enter the distance measurement state.
[0050] Anchor point 005 sends distance measurement requests to the tag sequentially according to the lookup table. The anchor point waits for the tag to send a "distance measurement request reply", and then performs bidirectional distance measurement or other distance measurement protocols with the tag to calculate the distance between them.
[0051] The anchor point reports the ranging information to the router.
[0052] After completing the distance measurement and reporting, anchor point 006 enters the anchor point broadcast state. It uses its built-in lookup table to broadcast and check if other anchor points exist. If it receives a reply from other anchor points, this anchor point enters the listening state.
[0053] If no response is received from any of the anchor points, the current anchor point will enter the tag networking state.
[0054] For anchor points, the initial state of the anchor point is to first listen for UWB signals from other anchor points in the wireless environment.
[0055] If an anchor point detects UWB signals from other anchor points, it continues to listen and waits for other anchor points to broadcast network requests to it.
[0056] If this anchor point successfully forms a network with other anchor points, it will enter the ranging state.
[0057] like Figure 6 As shown, the UWB anchor point workflow is as follows: Anchors have an anchor lookup table and a tag lookup table. The anchor lookup table can be a fixed table or a linked list, meaning that each anchor has the addresses of all other anchors in the anchor network. The tag lookup table is a dynamic lookup table, where nodes are dynamically added to or deleted during the anchor's lifecycle.
[0058] Anchor point 012 powers on and starts up, initializing the hardware, firmware, and protocol stack in preparation for joining the network.
[0059] 013 Anchor point begins scanning the channel to listen for any existing anchor point networks.
[0060] If no other anchors are detected, this anchor will bootstrap to become the first anchor, thus announcing the establishment of the new network.
[0061] 014 If it detects broadcasts from other anchor points, it attempts to join the existing network by listening for ranging permission requests sent to it by other anchor points. It waits for instructions from other anchor points in the network.
[0062] 015 To avoid indefinite waiting, a timeout mechanism is implemented. After the timeout, the process will either skip or terminate the current access attempt. 016 In a distributed system, when a working anchor point goes offline, other anchor points may simultaneously enter the timeout mechanism, and multiple anchor points may send information at the same time, causing channel collisions. This module indicates that the system needs to be designed with a collision detection mechanism (such as CSMA / CA). Once a collision is detected, a backoff algorithm or other "collision handling" process will be triggered to stagger the sending time of each anchor point and ensure the orderly use of the channel.
[0063] 017 Anchor point checks its internal tag lookup table. This table maintains a list of tags that have been successfully connected (networked) to this anchor point.
[0064] If the lookup table is empty, it will jump directly to the "unnetworked tag access broadcast" stage and actively search for new tags.
[0065] If there are labels in the lookup table, then polling and ranging on them begins.
[0066] The anchor point initiates distance measurement to each label (label1, label2, ..., labeln) in the lookup table in sequence.
[0067] 018 If a tag fails to respond multiple times, the anchor will determine that the tag is offline or invalid and remove it from the lookup table.
[0068] After completing the ranging of known tags, the anchor point will actively broadcast to invite new tags that have not yet formed a network in the environment to join. This ensures that new tags can be discovered and located in a timely manner.
[0069] If there is a network request for a new label, the anchor will complete the handshake process with these new labels and update the label lookup table.
[0070] At node 021, the anchor point sends all distance data obtained in this ranging cycle to the positioning server via the router.
[0071] 022 This anchor point has entered the anchor point synchronization phase. This anchor point polls the anchor point lookup table in a specific order and then hands over the ranging rights to the next anchor point in the network.
[0072] A new cycle begins.
[0073] In one embodiment, such as Figure 4 and 5 As shown, a UWB positioning method is provided for use with tags. The method includes: S701, Listen to the wireless channel to obtain downlink requests sent by the target anchor point; S702. If the downlink request is a ranging request, then determine whether the local anchor lookup table contains the address of the target anchor; if it contains the address of the target anchor, then execute the ranging protocol with the target anchor. S703. If the downlink request is a networking request, determine whether the local anchor lookup table contains the address of the target anchor. If the target anchor address is not contained, send a networking response to the target anchor and add the address of the target anchor to the local anchor lookup table to update the local anchor lookup table.
[0074] This embodiment focuses on the workflow design of the target being located (i.e., the tag). Unlike the heavy-load operation logic of anchor point active scheduling, the tag's workflow design follows the principle of event-driven, low-power response.
[0075] In step S701, after the tag is powered on and completes hardware and software initialization, its core task is to continuously scan the wireless channel and passively listen for broadcast information or directional broadcasts from base stations (target anchor points) in the wireless environment. When the tag intercepts a valid anchor point broadcast frame (i.e., a downlink request), it will enter different processing decision branches according to the type and content of the broadcast.
[0076] Regarding step S702, the tag maintains a dynamic "local anchor lookup table" to remember the known anchor groups of its currently legitimate connections. If the downlink request is parsed as a "ranging request" requesting precise spatial coordinate calculation (i.e., a target anchor is actively inviting the tag to perform distance measurement), the tag, to prevent loss of historical state due to its own restart failure (e.g., the anchor lookup table being accidentally cleared), must first verify whether the sender's target anchor address is recorded in its own anchor lookup table. Only after comparison and verification confirming that the target anchor is a "known" anchor with an established connection will the tag prepare to interact with it, activating the underlying radio frequency unit to execute a precise ranging protocol (e.g., TWR protocol, i.e., bidirectional ranging protocol) to perform spatial distance measurement. As an example, if it is determined that the target anchor is not in the anchor lookup table, the tag will directly return to the listening state to avoid illegal interaction.
[0077] Regarding step S703, if the broadcast type of the downlink request is a "network request" (i.e., a target anchor is actively searching for a new label and inviting the establishment of a stable connection), the label will first determine whether the target anchor is already in the local anchor lookup table. If the check finds that this is a new anchor (i.e., the address of the target anchor is not included), it means that a completely new connection needs to be established. The label then enters the network state, shakes hands with the target anchor, sends a network reply allowing the connection, and dynamically adds the address of the target anchor to the local anchor lookup table to complete the network entry process and update the table. At this point, the target anchor officially becomes the ranging object of the label. As a supplement, if it is determined that the target anchor is already a known anchor (i.e., the anchor is in the lookup table), the label usually ignores the network broadcast of the anchor, and the process directly returns to the listening state to start the next state cycle.
[0078] In this embodiment, by constructing a simplified working state machine on the tag side that combines "passive event triggering with local lookup table state verification," the terminal design principle of high cohesion and low coupling is achieved at the underlying logic level. Relying on a local anchor lookup table for pre-judgment, it not only intelligently distinguishes between "known" and "unknown" anchor points but also enables the tag to monitor and make accurate branch responses in real time with extremely low standby power consumption. This mechanism effectively avoids the waste of radio frequency power caused by the tag blindly responding to invalid or unauthorized ranging commands. Simultaneously, it dynamically maintains its legitimate communication list, supporting seamless interaction and rapid reorganization of the tag with different anchor point clusters during movement, thereby significantly enhancing the high reliability, low latency, and self-organizing capabilities of the entire dynamic positioning system.
[0079] In one embodiment, the method further includes, before performing a ranging protocol with the target anchor point: S801. Clear the second heartbeat counter corresponding to the target anchor point.
[0080] This embodiment relates to a method for reverse maintenance and status refresh of the link connection health of the upper-level base station (anchor point) at the tag end. Regarding step S801, the "second heartbeat counter" is, in physical terms, an integer status register variable independently allocated in memory by the tag's internal microcontroller for each target anchor point that has been recorded in the "local anchor point lookup table," specifically used to accumulate the number of times that anchor point has experienced logical anomalies or lost connection.
[0081] In practical communication scenarios, in distributed dynamic networks, not only do anchor points need to monitor the online status of tags, but tags also need to independently maintain a reverse heartbeat mechanism for the connection health status of each anchor point. When a tag receives a ranging request and successfully identifies that the sender is a legitimate and known target anchor point, at the physical communication level, this means that the downlink control link of the current target anchor point is still unobstructed, and the state machines of both parties are in an accurate synchronized health state. To maintain the accuracy of this state record, the tag's firmware control logic will prioritize and must perform an internal state reset operation before officially activating the high-power RF transceiver unit to execute the high-energy-consuming bidirectional ranging protocol (such as DSTWR, bilateral bidirectional ranging). Specifically, the tag's underlying controller will address the status bit bound to the target anchor point in the local data structure, write a reset instruction to the corresponding memory register, and completely clear the value of the "second heartbeat counter" (i.e., clear the anchor point's heartbeat).
[0082] In this embodiment, by introducing a link heartbeat value clearing operation before formally performing precise ranging with the target anchor point, and using normal ranging requests as handshake credentials for link health, it ensures that the tag can extremely sensitively and accurately record and reflect its most recent successful interaction status with each base station in the wireless environment. This micro-level low-level state refresh mechanism provides the most basic and accurate data support for the tag to intelligently determine when to actively discard the connection to a failed base station. The specific technical effects are: significantly enhanced environmental adaptability of the terminal device (tag) to independently judge network link quality; improved accuracy of multi-terminal network state synchronization in the distributed positioning system; and fundamentally prevented memory resource waste and state machine logic deadlock caused by the tag passively maintaining "zombie anchor" connections.
[0083] In one embodiment, sending a network response to the target anchor point includes: S901. Determine if there is an access conflict with other tags; S902. If an access conflict occurs, after executing the conflict handling procedure, a network response is sent to the target anchor point. S903. If no access conflict occurs, send a network response directly to the target anchor point.
[0084] This embodiment aims to address the channel congestion and collision problems caused by large-scale concurrent tag access. Regarding step S901, in a distributed UWB positioning system, when a target anchor point sends an open networking invitation to the wireless environment, if this invitation is from a new anchor point, the tag needs to resolve the risk of multi-tag access conflicts. Because in ultra-large-scale deployment scenarios, the number of tags is enormous and there is a lack of unified clock synchronization among nodes, it is highly likely that multiple new tags in an unnetworked state will wake up simultaneously and attempt to respond to this networking request at the same time. At the radio frequency physical communication level, this concurrent stacking of multi-source signals can lead to severe data packet collisions and corruption. Therefore, if the system detects that multiple tags may respond to this networking request simultaneously, the system requires the tag to perceive the current channel's energy level based on a collision detection algorithm (such as monitoring channel busy / idleness) before deciding to respond, in order to determine whether an access conflict will occur with other tags.
[0085] Regarding step S902, if the underlying RF module detects that the channel is busy or the energy is higher than the noise floor threshold (i.e., an access conflict occurs), the tag's control logic will enter a "conflict handling" state to avoid signal collisions. During the conflict handling process, as a preferred implementation, the tag will trigger a backoff algorithm (e.g., generating a random delay time) to stagger the transmission windows of each tag on the timeline. After the backoff process and waiting until the channel becomes quiet again, the tag will then safely send a network response to the target anchor point.
[0086] Regarding step S903, if the channel is found to be idle (i.e., no access conflict occurs) during the forward probing, this physically means that the current wireless channel is clean and no other terminals are vying for communication resources. At this time, the tag uses the fast channel to directly send a network response to the target anchor point, thereby establishing a communication connection with the anchor point and adding its address to the local anchor lookup table.
[0087] In this embodiment, channel environment awareness and conflict judgment are forcibly embedded in the uplink network response path of the tag, and a conflict backoff process is executed when an access conflict is detected. This feature establishes a distributed anti-collision data traffic control mechanism at the underlying communication principle, which greatly disperses concurrent peaks and reduces the risk of demodulation paralysis caused by sudden traffic storms to anchor receivers. The specific technical effect is that it ensures that even in high-density tag clustering scenarios, the UWB positioning network can still stably, orderly, and efficiently complete the batch identity access and communication registration of massive tag terminals, significantly improving the system's anti-concurrency interference capability and network access success rate.
[0088] In one embodiment, the method further includes: S1001. If the downlink request is a networking request, and it is confirmed that the local anchor lookup table contains the address of the target anchor, then increment the second heartbeat counter corresponding to the target anchor by one. S1002. Determine whether the second heartbeat counter has reached the second threshold; if the second heartbeat counter has reached the second threshold, delete the address of the target anchor point from the local anchor lookup table.
[0089] This embodiment relates to the system's underlying logic for automatically repairing dirty data records caused by asynchronous bidirectional state machines. Regarding steps S1001 and S1002, in the complex and dynamic UWB wireless transmission network, there exists an edge anomaly of information asymmetry: the tag's local anchor lookup table still retains the address record of a target anchor, meaning the tag unilaterally believes that both parties are still in a network connection state. However, due to various physical or hardware / software reasons (e.g., the target anchor has experienced a brief restart, power outage, or its internal cache has been cleared), the target anchor's tag lookup table has already lost the address record for this tag. Because the information is no longer synchronized, the target anchor will blindly send "network requests" during polling instead of the normal "ranging requests" expected by the tag.
[0090] When the tag intercepts this downlink request and verifies that the broadcast type is a network request, and the target anchor point is already a "known anchor point" in the local anchor point lookup table, the tag's underlying logic will not fall into an infinite loop of repeatedly responding to network requests or logical deadlock. At this time, the tag will increment the "second heartbeat counter" allocated for the target anchor point. This second heartbeat counter is essentially a memory status register at the physical level, specifically used to quantify and record the error frequency of such abnormal network broadcasts being repeatedly received. Subsequently, the tag will determine in real time whether the value of the second heartbeat counter has reached the preset second threshold (i.e., the maximum security boundary limit that the system can tolerate for such logical conflicts, such as the variable x set in the firmware). If the tag receives network requests from the target anchor point multiple times, but never receives ranging requests, causing the counter to accumulate to the second threshold, the tag system will logically and strictly determine that there is a serious one-sided information asymmetry between the two parties. In order to maintain normal system operation, the tag's self-check and cleanup program will trigger a one-way disconnection mechanism, actively and completely deleting the address of the target anchor point from the local anchor point lookup table.
[0091] In this embodiment, by establishing a fault-tolerant counting and one-way disconnection mechanism triggered by abnormal downlink broadcast types, the tag terminal can dynamically detect and automatically correct information asymmetry deadlocks in the network caused by node restarts or cache loss through its own logical reasoning. The specific technical effects are: from the perspective of terminal device self-management, it powerfully maintains the consistency of the distributed multi-terminal lookup table data across the entire network and the normal flow of business operations, completely avoiding infinite communication deadlocks caused by state asynchrony, and greatly improving the system's self-healing capability and long-term operational stability.
[0092] like Figure 4 and Figure 7 As shown, in one embodiment, a UWB positioning method is also provided, applied to a tag, the method comprising: like Figure 4 As shown, this includes the tag state machine: After the 007 tag is powered on, it performs hardware and software initialization.
[0093] The 008 tag scans the wireless channel and listens for broadcast information from the anchor point. The tag enters the decision process when it receives a valid anchor point broadcast frame.
[0094] The 009 tag contains a lookup table of already networked anchor points. If the tag receives an anchor point networking request, it determines whether the anchor point is in the lookup table.
[0095] 010 If the anchor point is not in the lookup table, then enter the network state to perform a handshake with the anchor point and add the anchor point to the lookup table, etc., as part of the network entry process. If the anchor point is in the lookup table, then ignore the network broadcast for that anchor point. 011 If the tag receives a ranging request from the anchor point, the tag and the anchor point execute a precise ranging protocol (such as TWR). After ranging or networking is completed, return to the listening state and start the next state cycle. like Figure 7 The label workflow is as follows: Tags have an anchor lookup table, which is a dynamic lookup table that allows nodes to be added or deleted dynamically.
[0096] After the 023 tag is powered on, it undergoes "initialization". This stage includes preparatory work such as hardware self-test, parameter loading, and wireless module settings.
[0097] The 024 tag continuously listens to the wireless channel, waiting for a targeted broadcast sent by the anchor point. It awaits polling and scheduling by the anchor point.
[0098] 025 When the tag “Received anchor broadcast”, it will enter different processing branches depending on the type and content of the broadcast.
[0099] Branch A: Broadcast type = Distance Request, an anchor point is actively inviting this tag to perform a distance measurement.
[0100] 026 To prevent the anchor point lookup table from being lost due to a fault restart, it is necessary to determine whether the anchor point is in the anchor point lookup table.
[0101] 027 If the anchor point is a "known" anchor point with an established connection, the tag will be ready to perform distance measurement directly with it.
[0102] If the anchor point is not in the anchor point lookup table, the tag returns to the listening state.
[0103] Branch B: Broadcast type = Networking request. An anchor point is inviting a tag to join the network and establish a stable connection.
[0104] If the anchor point is already a known anchor point, there may be no need to process the network request repeatedly, and the process can directly return to the listening state.
[0105] 028 If this is a networking invitation issued by a new anchor point, then the label needs to resolve the risk of multi-label access conflicts. 029 If the system detects that multiple tags may respond to this networking request at the same time (based on collision detection algorithms, such as monitoring channel busy / idle), the tag will enter the "collision handling" state to avoid signal collision.
[0106] 030 If the channel is idle, the tag will establish a communication connection with the anchor point and add it to the lookup table. At this point, the anchor point officially becomes the target for ranging by the tag.
[0107] 031 If multiple network requests for the anchor point are received but no ranging requests are received, it means that the anchor point address is in the anchor point lookup table of this tag, but the address of this tag is not in the tag lookup table of this anchor point. The anchor point address needs to be deleted from the anchor point lookup table of the tag to maintain normal system operation.
[0108] After a complete interaction (ranging or networking) is completed, the process returns to the listening state. This allows the tag to enter the next work cycle, achieving continuous real-time positioning.
[0109] In one embodiment, a UWB positioning system is provided, including a positioning server, at least one tag, and multiple anchor points. The anchor points are interconnected and each anchor point is interconnected with the tag. The positioning server is interconnected with each anchor point. The anchor points are used to execute the UWB positioning method applied to the anchor points in any of the above embodiments. The tag is used to execute the UWB positioning method applied to the tag in any of the above embodiments.
[0110] This embodiment deploys a collaborative anchor cluster and a passively responding mobile tag matrix on the hardware architecture, and deeply integrates and merges the aforementioned method modules with timing control, conflict avoidance, intelligent lookup table maintenance, and heartbeat detection lifecycle management into the communication protocol and software logic stack. It achieves precise interlocking between centralized active scheduling on the network side (anchors) and a low-power event-driven mechanism on the terminal side (tags). This system-level integration of hardware and software fully leverages the advantages of the division of labor among core components in terms of computational load, completely decoupling precise ranging from high-intensity computation. It systematically overcomes the bottlenecks of limited computing power and concurrent capacity of traditional single base stations, thus exhibiting extremely superior system stability, millisecond-level ultra-low response latency, and seamless scalability in demanding scenarios such as warehouse logistics tracking or large-scale personnel positioning.
[0111] In one embodiment, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the UWB positioning method applied to anchor points or tags described above.
[0112] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the UWB positioning method applied to anchor points or tags described above. The details regarding the electronic device and the medium are as described in the foregoing method embodiments and will not be repeated here.
[0113] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A UWB positioning method, characterized in that, Applied to anchor points, the method includes: Based on the local tag lookup table, a ranging request is sent sequentially to each tag to be measured in the local tag lookup table to obtain the ranging information corresponding to each tag to be measured. After sending the ranging request to the local tag lookup table, a networking request is broadcast, and the address of the tag that sent the networking response is added to the local tag lookup table based on the received networking response, so as to update the local tag lookup table. The acquired ranging information is reported to the positioning server, and the next target anchor point in the network is determined according to the local anchor point lookup table, and the ranging right is transferred to the next target anchor point.
2. The UWB positioning method according to claim 1, characterized in that, Before sequentially sending a ranging request to each tag to be measured in the local tag lookup table to obtain ranging information corresponding to each tag, the method further includes: Determine whether the local tag lookup table is empty; If the local tag lookup table is empty, skip the step of sending a ranging request to each tag to be measured in the local tag lookup table in turn to obtain the ranging information corresponding to each tag to be measured, and then execute the broadcast networking request operation.
3. The UWB positioning method according to claim 1, characterized in that, The method further includes an anchor point insertion step, which includes: Scan the wireless channel to listen for the presence of other anchor broadcast beacons; If no other anchor point broadcast beacon is detected, the anchor point itself establishes an anchor point network as the first anchor point; if other anchor point broadcast beacons are detected, the anchor point joins an existing anchor point network.
4. The UWB positioning method according to claim 3, characterized in that, The process of adding to an existing anchor network includes: Listen for polling distance measurement requests sent by other anchor points and record the corresponding listening time; Determine whether the listening time has reached the preset timeout period; If the preset timeout period is not reached, a reply message is sent to the other anchor points that sent the polling ranging request to join the existing anchor point network. If the preset timeout period is reached, it is then detected whether there is a channel conflict with other anchor points; If the channel conflict exists, the conflict handling procedure is executed and the operation of joining the existing anchor network is terminated; if the channel conflict does not exist, the operation of joining the existing anchor network is terminated directly.
5. The UWB positioning method according to claim 1, characterized in that, The local tag lookup table sequentially sends a ranging request to each tag to be measured in the local tag lookup table to obtain ranging information corresponding to each tag, including: For each tag to be measured in the local tag lookup table, determine whether a ranging response has been received from the tag to be measured in response to the ranging request; If the ranging response is received, the first heartbeat counter corresponding to the tag to be ranging is cleared, and a two-way ranging protocol is executed with the tag to be ranging to obtain the corresponding ranging information. If no ranging response is received, the first heartbeat counter corresponding to the tag to be ranging is incremented by one, and it is determined whether the first heartbeat counter has reached the first threshold. If the first heartbeat counter reaches the first threshold, the corresponding distance-to-be-measured label is deleted from the local label lookup table.
6. A UWB positioning method, characterized in that, Applied to a label, the method includes: Listen to the wireless channel to obtain downlink requests sent by the target anchor point; If the downlink request is a ranging request, then determine whether the local anchor lookup table contains the address of the target anchor; if it contains the address of the target anchor, then execute the ranging protocol with the target anchor. If the downlink request is a networking request, then it is determined whether the local anchor lookup table contains the address of the target anchor; if the target anchor address is not contained, a networking response is sent to the target anchor, and the address of the target anchor is added to the local anchor lookup table to update the local anchor lookup table.
7. The UWB positioning method according to claim 6, characterized in that, Sending the network response to the target anchor point includes: Determine if there is an access conflict with other tags; If the access conflict occurs, the network response is sent to the target anchor point after the conflict handling process is executed. If no access conflict occurs, the network response is sent directly to the target anchor point.
8. A UWB positioning system, characterized in that, The system includes a location server, at least one tag, and multiple anchor points, wherein each anchor point is interconnected and communicates with the tag, and the location server is interconnected with each anchor point. The anchor point is used to perform the UWB positioning method as described in any one of claims 1-5; The tag is used to perform the UWB positioning method as described in any one of claims 6-7.
9. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the UWB positioning method as described in any one of claims 1-6 or 7-10.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the UWB positioning method as described in any one of claims 1-6 or 7-10.