Positioning method, apparatus, device, computer storage medium and program product
By receiving anchor node information, selecting verification positioning points, performing anchor node combination and cluster analysis, and filtering out reliable anchor node groups, the problem of insufficient accuracy of UWB positioning technology under non-line-of-sight conditions is solved, and stable and accurate positioning is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE M2M
- Filing Date
- 2025-12-02
- Publication Date
- 2026-07-21
Smart Images

Figure CN121603870B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of positioning technology, and in particular relates to a positioning method, device, equipment, computer storage medium and program product. Background Technology
[0002] Ultra-wideband (UWB) positioning technology is a high-precision wireless positioning method that utilizes ultra-wideband signals to achieve high-precision positioning. However, UWB positioning technology has poor positioning accuracy under non-line-of-sight (NLOS) conditions. Therefore, eliminating the impact of NLOS on UWB is a necessary means to ensure positioning accuracy.
[0003] In related technologies, the powerful pattern recognition capabilities of deep learning models are generally used to distinguish signal features under LOS and NLOS conditions, and the positioning results are adjusted accordingly to improve positioning accuracy; or, data fusion technology is used to improve positioning accuracy by comprehensively analyzing data from multiple sensors.
[0004] However, deep learning-based methods for combating NLOS effects, or methods employing multiple sensors and collaboration, often suffer from poor model training or data fusion performance, leading to suboptimal UWB positioning. Therefore, improving the positioning accuracy of UWB under NLOS conditions is a pressing technical challenge for those skilled in the art. Summary of the Invention
[0005] This application provides a positioning method, apparatus, device, computer storage medium, and program product that can improve the positioning accuracy of UWB positioning technology under NLOS conditions.
[0006] In a first aspect, embodiments of this application provide a positioning method, characterized in that it is applied to a mobile terminal, the method comprising: responding to the mobile terminal entering a target area, receiving anchor node information fed back by target anchor nodes in the target area, the target area including multiple standard verification positioning points and multiple anchor nodes, each standard verification positioning point having a prior probability density; selecting a target verification positioning point that meets a preset distance condition from the multiple standard verification positioning points according to the anchor node information and the positioning point positions corresponding to the multiple standard verification positioning points, and determining the target prior probability density corresponding to the target verification positioning point; combining the target anchor nodes according to a preset number of anchor nodes to obtain multiple There are several first anchor node groups. For each first anchor node group, based on the anchor node information corresponding to the first anchor node in the first anchor node group, the number of first anchor nodes that meet the preset clustering conditions is determined from multiple first anchor nodes. For each first anchor node group, based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes, the probability density corresponding to the first anchor node group is calculated. Based on the target prior probability density and the probability density corresponding to each first anchor node group, the first anchor node groups are filtered to obtain the filtered target anchor node groups. Based on the target anchor node information corresponding to each anchor node in the target anchor node group, the positioning location is determined.
[0007] In one embodiment, the anchor node information includes at least the anchor node location; for each first anchor node group, based on the anchor node information corresponding to the first anchor node in the first anchor node group, determining the number of first anchor nodes satisfying the preset clustering conditions from multiple first anchor nodes includes: for each first anchor node group, calculating multiple calculation locations corresponding to the mobile terminal based on the anchor node information corresponding to the first anchor node in the first anchor node group; performing clustering calculation on the multiple calculation locations in the first anchor node group to obtain a first cluster group; for the first cluster group, determining the number of third anchor nodes corresponding to the first cluster group, wherein the number of third anchor nodes is the number of anchor nodes included in the first cluster group; for each first anchor node group, calculating the probability density corresponding to the first anchor node group based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes, including: for each first cluster group, calculating the probability density of the first cluster group based on the number of second anchor nodes and the number of third anchor nodes.
[0008] In one implementation, each first cluster group has a corresponding first cluster centroid point, and the first target cluster group is a cluster group in the first cluster group whose probability density is greater than or equal to the target prior probability density; the positioning position is determined according to the target anchor node information corresponding to each anchor node in the target anchor node group, including: calculating and determining the positioning position according to the position of the first target centroid point corresponding to the centroid point in the first target cluster group.
[0009] In one embodiment, a target verification positioning point that meets a preset distance condition is selected from multiple standard verification positioning points based on anchor node information and the positioning point positions corresponding to multiple standard verification positioning points. This includes: calculating the initial position of the mobile terminal based on the anchor node information; calculating the distance between the initial position and the positioning point position corresponding to each standard verification positioning point; determining the minimum distance value from multiple distances, and using the standard verification positioning point corresponding to the minimum distance value as the target verification positioning point.
[0010] In one embodiment, multiple standard verification positioning points are distributed in the target area according to a preset distribution density. Before selecting a target verification positioning point that meets a preset distance condition from the multiple standard verification positioning points based on anchor node information and the positioning point positions corresponding to the multiple standard verification positioning points, and determining the target prior probability density corresponding to the target verification positioning point, the method further includes: for each standard verification positioning point, determining the target anchor node combination corresponding to the standard verification positioning point and the number of fourth anchor nodes in the target anchor node combination from multiple anchor node combinations in a preset target line-of-sight anchor point list; for each standard verification positioning point, receiving feedback from the fifth anchor node. Anchor node information is collected, and the number of fifth anchor nodes is determined. Following a preset permutation and combination formula, the number of the second group is calculated based on the number of the fourth and fifth anchor nodes. The fifth anchor nodes are combined according to the number of the second group and the number of the fourth anchor nodes to obtain the number of second anchor node groups. For each second anchor node group, the sixth target anchor node that meets the preset screening conditions is determined based on the anchor node position of the sixth anchor node in that second anchor node group, and the number of the sixth target anchor nodes is also determined. Based on the number of the sixth target anchor nodes and the number of fifth anchor nodes, the prior probability density of the standard verification positioning point is calculated.
[0011] In one embodiment, for each second anchor node group, a sixth target anchor node that meets preset screening conditions is determined based on the position of the sixth anchor node in the second anchor node group, as well as the number of sixth target anchor nodes. This includes: for each second anchor node group, calculating multiple calculated positioning information corresponding to the standard verification positioning point based on the anchor node information of the sixth anchor node in the second anchor node group; performing cluster calculation on the multiple calculated positioning information to obtain one or more second cluster groups, wherein each second cluster group has a second cluster centroid; and when the distance between the position of the second centroid and the position of the standard verification positioning point is less than a preset distance threshold, and all sixth anchor nodes in the second cluster group belong to the anchor nodes in the preset line-of-sight anchor point list, the sixth anchor node is taken as the sixth target anchor node.
[0012] In one embodiment, before determining the target anchor node combination corresponding to the standard verification positioning point and the number of fourth anchor nodes in the target anchor node combination from multiple anchor node combinations in a preset target line-of-sight anchor point list for each standard verification positioning point, the method further includes: for each standard verification positioning point, determining the line-of-sight anchor node corresponding to the standard verification positioning point from multiple anchor nodes based on the actual position of the standard verification positioning point and the anchor node position of the anchor node, and constructing a preset line-of-sight anchor point list, the preset line-of-sight anchor point list including the correspondence between the standard verification positioning point and one or more line-of-sight anchor nodes; for each standard verification positioning point, determining the target line-of-sight anchor node corresponding to the standard verification positioning point from multiple line-of-sight anchor nodes in the preset line-of-sight anchor point list according to a preset accuracy attenuation calculation formula, and constructing a preset target line-of-sight anchor point list.
[0013] In one embodiment, for each second anchor node group, a sixth target anchor node that meets preset screening conditions and the number of sixth target anchor nodes are determined based on the anchor node position of the sixth anchor node in the second anchor node group. This includes: for each standard verification positioning point, calculating the predicted position corresponding to the standard verification positioning point based on the anchor node information corresponding to the fourth anchor node in the target anchor node combination; verifying the predicted position based on the positioning point position corresponding to the standard verification positioning point; and if the verification is successful, determining the sixth target anchor node that meets preset screening conditions and the number of sixth target anchor nodes based on the anchor node position of the sixth anchor node in the second anchor node group.
[0014] Secondly, embodiments of this application provide a positioning device applied to a mobile terminal, the device comprising:
[0015] The receiving module is used to receive anchor node information fed back by the target anchor node in the target area in response to the mobile terminal entering the target area. The target area includes multiple standard verification positioning points and multiple anchor nodes, and each standard verification positioning point has a priori probability density.
[0016] The first determining module is used to select a target verification positioning point that meets the preset distance condition from multiple standard verification positioning points based on the anchor node information and the positioning point positions corresponding to multiple standard verification positioning points, and to determine the target prior probability density corresponding to the target verification positioning point.
[0017] The combination module is used to combine the target anchor nodes according to the preset number of anchor nodes to obtain multiple first anchor node groups;
[0018] The second determining module is used to determine the number of first anchor nodes that meet the preset clustering conditions from multiple first anchor nodes, based on the anchor node information corresponding to the first anchor nodes in the first anchor node group for each first anchor node group.
[0019] The calculation module is used to calculate the probability density corresponding to each first anchor node group based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes.
[0020] The filtering module is used to filter the first anchor node group based on the target prior probability density and the probability density corresponding to each first anchor node group, so as to obtain the filtered target anchor node group.
[0021] The third determination module is used to determine the positioning location based on the target anchor node information corresponding to each anchor node in the target anchor node group.
[0022] Thirdly, embodiments of this application provide a positioning device, the device including: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the positioning method in the first aspect or any embodiment of the first aspect.
[0023] Fourthly, a computer-readable storage medium storing computer program instructions that, when executed by a processor, implement the positioning method of the first aspect or any embodiment of the first aspect.
[0024] Fifthly, embodiments of this application provide a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform a positioning method as described in the first aspect or any embodiment of the first aspect.
[0025] The positioning method, apparatus, device, and computer storage medium of this application establish a reliable initial estimate and probability benchmark for the entire system by utilizing the prior probability density provided by standard verification positioning points. Furthermore, through anchor node combination and intra-group clustering analysis, the internal consistency of each node group is quickly and accurately identified and quantified, thereby effectively identifying and suppressing the influence of non-line-of-sight anchor nodes. Finally, by fusing the prior probability density with the real-time calculated group probability density, the most reliable target anchor node group is selected for positioning calculation. This fully utilizes prior information in the target environment and, through dynamic probability assessment and clustering verification, achieves proactive identification and elimination of non-line-of-sight anchor nodes, ultimately outputting a stable and accurate positioning location in complex and ever-changing real-world scenarios. Attached Figure Description
[0026] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0027] Figure 1 A flowchart illustrating a positioning method provided in one embodiment of this application is shown;
[0028] Figure 2 This is a schematic diagram of the anchor node deployment method in a target area provided in one embodiment of this application;
[0029] Figure 3 This is a schematic diagram illustrating the deployment method of standard verification positioning points in a target area according to an embodiment of this application;
[0030] Figure 4 A flowchart illustrating a positioning method provided in one embodiment of this application is shown;
[0031] Figure 5 This is a schematic diagram of a target line-of-sight anchor point in a target area provided in one embodiment of this application;
[0032] Figure 6 This is a flowchart illustrating a positioning method provided in one embodiment of this application;
[0033] Figure 7 This is a flowchart illustrating a positioning method provided in one embodiment of this application;
[0034] Figure 8 This is a flowchart illustrating a positioning method provided in one embodiment of this application;
[0035] Figure 9 This is a schematic diagram of the positioning device provided in another embodiment of this application;
[0036] Figure 10 This is a schematic diagram of the structure of a positioning device provided in another embodiment of this application. Detailed Implementation
[0037] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.
[0038] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.
[0039] With the development of technology and the continuous improvement of user needs, traditional positioning technology has gradually failed to meet user needs in terms of accuracy, power consumption and reliability. Therefore, UWB positioning technology has emerged.
[0040] Ultra-wideband (UWB) positioning technology is a high-precision wireless positioning method that utilizes ultra-wideband signals. It achieves precise measurement of signal propagation time by transmitting and receiving pulse signals, and calculates the distance or positional relationship between the tag and the base station based on ranging algorithms such as Time-of-Flight (ToF) and Time Difference of Arrival (TDoA), thus achieving high-precision positioning. However, UWB positioning technology suffers from poor accuracy under non-line-of-sight (NLOS) conditions. That is, under NLOS conditions, obstacles exist in the signal transmission path, preventing the signal from directly reaching the receiver from the transmitter, but instead causing it to reach the receiver through reflection, refraction, or diffraction. This introduces additional errors, thus affecting positioning accuracy. Therefore, eliminating the impact of NLOS on UWB is a necessary means to ensure positioning accuracy.
[0041] In related technologies, the powerful pattern recognition capabilities of deep learning models are generally used to distinguish signal features under LOS and NLOS conditions, and the positioning results are adjusted accordingly to improve positioning accuracy. Alternatively, data fusion techniques are used to improve positioning accuracy through comprehensive analysis of data from multiple sensors. These data fusion techniques can include Kalman filtering, particle filtering, and others.
[0042] However, deep learning-based methods for combating NLOS effects, or methods employing multiple sensors and collaboration, often suffer from poor model training or data fusion performance, leading to suboptimal UWB positioning. Therefore, improving the positioning accuracy of UWB under NLOS conditions is a pressing technical challenge for those skilled in the art.
[0043] Therefore, in order to solve the problems of the prior art, embodiments of this application provide a positioning method, apparatus, device, computer storage medium, and program product. The positioning method provided by embodiments of this application will be described first below.
[0044] Figure 1 A flowchart illustrating a positioning method provided in one embodiment of this application is shown. Figure 1 As shown, the positioning method includes the following steps S110-S170:
[0045] S110. In response to the mobile terminal entering the target area, receive anchor node information fed back by the target anchor node in the target area.
[0046] S120. Based on the anchor node information and the location of the positioning points corresponding to multiple standard verification positioning points, select the target verification positioning point that meets the preset distance conditions from the multiple standard verification positioning points, and determine the target prior probability density corresponding to the target verification positioning point.
[0047] S130. According to the preset number of anchor nodes, the target anchor nodes are combined to obtain multiple first anchor node groups.
[0048] S140. For each first anchor node group, based on the anchor node information corresponding to the first anchor node in the first anchor node group, determine the number of first anchor nodes that meet the preset clustering conditions from multiple first anchor nodes.
[0049] S150. For each of the first anchor node groups, calculate the probability density corresponding to the first anchor node group based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes.
[0050] S160. Based on the prior probability density of the target and the probability density corresponding to each first anchor node group, the first anchor node group is filtered to obtain the filtered target anchor node group.
[0051] S170. Determine the positioning location based on the target anchor node information corresponding to each anchor node in the target anchor node group.
[0052] In some embodiments, in S110, after the mobile terminal enters the target area, it can receive anchor node information fed back by the target anchor nodes in the target area. The target area includes multiple standard verification positioning points and multiple anchor nodes, each of which has a priori probability density.
[0053] For example, an anchor node can be a reference point with a fixed and known location within a target area. Furthermore, the anchor node can communicate with the terminal device (i.e., the tag). The target anchor node can be an anchor node within the target area that sends anchor node information to the mobile terminal.
[0054] The anchor node positions in the target area can be preset by technicians according to different anchor node deployment requirements. These requirements include at least one of the following: the number of anchor nodes in the target area is greater than or equal to a preset threshold, for example, more than four anchor nodes; the switching areas between anchor nodes in different target areas are close to a straight line; the smaller the Geometric Dilution of Precision (GDOP) value of the geometry formed by the anchor nodes participating in the location calculation, the better; the anchor nodes participating in the positioning calculation do not need to be located on the same horizontal plane, but their height difference must be less than a preset precision threshold, where the preset precision threshold can be set to 10 times the precision requirement.
[0055] In one example, Figure 2 This is a schematic diagram illustrating the deployment method of anchor nodes in a target area according to an embodiment of this application, as shown below. Figure 2 As shown, the target area may include multiple signal obstacles (such as...) Figure 2 (As shown in the gray rectangle); anchor nodes can be deployed around each of the signal obstacles. Where there are no signal obstacles, anchor nodes can be deployed evenly, as shown in the example below. Figure 2 The circles numbered 1-26 are shown in the middle.
[0056] For example, the standard verification location point can be a fixed and known location point in the target area, wherein the standard verification location point cannot communicate with the mobile terminal.
[0057] Standard calibration positioning points can be pre-set by technicians according to different positioning point deployment requirements. These requirements include at least one of the following: standard calibration positioning points are set up in areas where NLOS signals may be received, and do not need to be repeated within the signal coverage area of the standard calibration positioning points; standard calibration positioning points are evenly distributed throughout the field, with the spacing between each standard calibration positioning point maintained between 5 and 10 meters (m); quasi-calibration positioning points are evenly distributed around obstacles; a sufficient number of LOS signal anchor nodes must be present around each standard calibration positioning point to ensure normal calculation of the UWB positioning position; and the LOS signal anchor node groups for standard calibration positioning points should not be duplicated.
[0058] In one example, Figure 3 This is a schematic diagram illustrating the deployment method of standard verification positioning points in a target area according to an embodiment of this application, as shown below. Figure 3 As shown, standard verification positioning points can be evenly deployed in the target area.
[0059] For example, each standard calibration location point has a corresponding prior probability density to characterize the probability that the standard calibration location point is an LOS signal anchor node.
[0060] For example, in response to a mobile terminal entering a target area, the mobile terminal can send a location request. Upon receiving the location request, anchor nodes in the target area will send their anchor node information back to the mobile terminal. In one example, the anchor node information may include the anchor node's location information and the timestamp of the anchor node receiving the location request. For example, the list of anchor nodes received by the mobile terminal can be represented as follows: Each element contains ,in, The anchor node receives a field-wide synchronized timestamp of the positioning request; The coordinates of the anchor node.
[0061] In some embodiments, in S120, based on the anchor node information and the location of the positioning point corresponding to the multiple standard verification positioning points, a target verification positioning point that meets the preset distance condition is selected from the multiple standard verification positioning points, and the target prior probability density corresponding to the target verification positioning point is determined.
[0062] For example, the initial position of the mobile terminal can be calculated based on the anchor node information received from multiple anchor nodes, and a target verification positioning point that meets the preset distance condition can be selected from multiple standard verification positioning points based on the initial position of the mobile terminal.
[0063] The preset distance condition can be used to measure the distance between the initial position of the mobile terminal and each standard verification positioning point.
[0064] In some optional embodiments, the initial position of the mobile terminal is calculated based on the anchor node information. The distance between the initial position and the corresponding positioning point position of each standard verification positioning point is calculated. The minimum distance value is determined from multiple distances, and the standard verification positioning point corresponding to the minimum distance value is used as the target verification positioning point.
[0065] In one example, a preset number of target anchor nodes can be randomly selected from the received anchor node information; and the location of the mobile terminal can be calculated using trilateration based on the target anchor node information. The preset number of anchor nodes is greater than or equal to 5.
[0066] For example, the initial position of the mobile terminal can be calculated using the following formula (1). :
[0067]
[0068] Furthermore, the target verification positioning point with the smallest distance from the initial position of the mobile terminal is determined by the following formula (2). :
[0069]
[0070] It is understood that the calculation of the mobile terminal's position using the trilateration method is only for illustrative purposes. In the field of UWB positioning technology, the terminal's position can also be calculated using methods such as hyperbolic positioning and triangulation. Therefore, this application is an embodiment and does not limit the method for calculating the mobile terminal's position.
[0071] For example, after determining the target verification location point, the target prior probability density corresponding to the target verification location point can be determined, that is, .
[0072] In this embodiment, the initial position of the mobile terminal is calculated based on the received anchor node information, and the distance between the initial position and the corresponding positioning points of each standard verification positioning point is used. Furthermore, the standard verification positioning point corresponding to the minimum distance value is selected as the target verification positioning point. This allows for the rapid and accurate determination of standard verification positioning points close to the mobile terminal's position, providing a basis for subsequent anchor node selection.
[0073] In some embodiments, in S130, the target anchor nodes can be combined according to a preset number of anchor nodes to obtain multiple first anchor node groups.
[0074] For example, the number of preset anchor nodes can be pre-set by relevant personnel according to different needs, and the number of preset anchor nodes affects the positioning accuracy.
[0075] In one example, it can be obtained by permutation and combination from Get from The group element data is shown in the following formula (3):
[0076]
[0077] in, to express arrays, where, The preset number of anchor nodes; express The number of elements in the middle; For array One of the elements is treated the same as the other elements. Among them, All belong to .
[0078] For example, a plurality of first anchor node groups can be represented as to .
[0079] In some embodiments, in S140, for each first anchor node group, the number of first anchor nodes that meet the preset clustering conditions can be determined from multiple first anchor nodes based on the anchor node information corresponding to the first anchor nodes in the first anchor node group.
[0080] For example, each first anchor node in the first anchor node group can be filtered according to preset clustering conditions to obtain first anchor nodes that meet the preset clustering conditions, and the number can be counted to obtain the number of first anchor nodes.
[0081] The first anchor node can be an anchor node in the first anchor node group.
[0082] In this process, the anchor node information corresponding to the first anchor node can be filtered according to the preset clustering conditions, so as to obtain the first anchor node that meets the preset clustering conditions.
[0083] In some optional embodiments, the anchor node information includes at least the anchor node location. For each first anchor node group, multiple calculated locations corresponding to the mobile terminal are calculated based on the anchor node information corresponding to the first anchor node in the first anchor node group. Clustering calculation is performed based on the multiple calculated locations in the first anchor node group to obtain a first cluster group. For each first cluster group, the number of third anchor nodes corresponding to the first cluster group is determined, where the number of third anchor nodes is the number of anchor nodes contained in the first cluster group. For each first cluster group, the probability density of the first cluster group is calculated based on the number of second anchor nodes and the number of third anchor nodes.
[0084] For example, the first anchor nodes in the first anchor node group can be arranged and combined according to different position calculation methods to obtain one or more calculated positions corresponding to multiple first anchor node groups. In one example, if the first anchor node group includes 6 anchor nodes, and the triangulation method is used to calculate the calculated position corresponding to the mobile terminal, then the calculated position can be obtained as follows: There are several calculation locations. Specifically, the calculation locations correspond to each of the first anchor node groups on the mobile terminal. It can be expressed as the following formula (4):
[0085]
[0086] in, This represents the set of computational locations corresponding to the first anchor node group. to The first anchor node group contains m calculated positions. Similarly, other parameters in formula (4) will not be repeated.
[0087] For example, clustering calculations are performed on multiple computation locations in each first anchor node group to obtain one or more first cluster groups.
[0088] In one example, clustering can be performed using the DBSCAN(eps, num) clustering method to obtain the first cluster group, i.e., the cluster. Here, eps represents the required positioning accuracy value, and num represents the minimum number of items contained in each cluster, which can be set to 2.
[0089] After determining the first cluster group, the number of types of first anchor points used to determine the calculation positions in each cluster group can be determined. For example, if a cluster group contains three calculation positions, where the first calculation position is calculated through anchor nodes 1 to 4, the second calculation position is calculated through anchor nodes 2 to 5, and the third calculation position is calculated through anchor nodes 3 to 6, then the number of types of first anchor points used to determine the calculation positions can be determined to be 6 (i.e., anchor nodes 1 to 6), and therefore, the number of third anchor nodes is 6.
[0090] For example, for each first cluster group, the probability density of the first cluster group is calculated based on the number of second anchor nodes and the number of third anchor nodes.
[0091] In one example, the quotient of the number of third anchor nodes and the number of second anchor nodes can be calculated as the probability density of the first cluster group.
[0092] Furthermore, in some alternative embodiments, each first cluster group has a corresponding first cluster centroid, and the first target cluster group is the cluster group whose probability density is greater than or equal to the target prior probability density. The positioning location can be calculated and determined based on the position of the first target centroid corresponding to the centroid in the first target cluster group.
[0093] For example, clustering calculations can be used to obtain the first cluster centroid for each cluster group.
[0094] For each first anchor node group, the probability density corresponding to each first cluster group in the first anchor node group is compared with the target prior probability density. If the probability density corresponding to the first cluster group is greater than or equal to the target prior probability density, the cluster group is taken as the first target cluster group.
[0095] For example, the location can be calculated and determined based on the position of the centroid of the first target corresponding to the centroid in the first target cluster group.
[0096] In one example, clusters are obtained through clustering calculation. It can be expressed as the following formula (5):
[0097]
[0098] in, Indicates the first cluster group The centroid of the first cluster group in the first cluster. Indicates the first cluster group The probability density of the first cluster group in the first cluster. ,in, Grouped into the first cluster The number of anchor nodes in the first cluster group. The same applies to other parameters in the formula, so they will not be repeated here.
[0099] Furthermore, clusters can be... The probability density of each cluster is compared with the target prior probability density, and clusters with probability densities greater than or equal to the target prior probability density are selected, as shown in the following formula (6):
[0100]
[0101] Furthermore, the location can be obtained by calculating the average value of the centroid position, as shown in the following formula (7):
[0102]
[0103] In this embodiment, for each first anchor node group, multiple calculated locations corresponding to the mobile terminal are calculated based on the anchor node information corresponding to the first anchor node in the first anchor node group. Clustering calculations are then performed based on these multiple calculated locations in the first anchor node group to obtain a first cluster group. For each first cluster group, the number of corresponding third anchor nodes is determined. For each first cluster group, the probability density of the first cluster group is calculated based on the number of second and third anchor nodes. It is understood that calculating multiple terminal locations and performing clustering for each first anchor node group enhances the robustness and accuracy of the system in complex environments. Through the spatial distribution of calculated locations within the first cluster group, dynamic internal consistency verification is achieved; that is, locations calculated by reliable line-of-sight anchor nodes will naturally cluster into a cluster (i.e., the first cluster group), while locations generated by unreliable non-line-of-sight or disturbed anchor nodes will become outliers. By counting the number of anchor nodes in this cluster (i.e., the number of third anchor nodes) and comparing it with the total number of nodes in the anchor node group (i.e., the number of second anchor nodes), the system can accurately quantify the internal consistency of the first cluster group, and thus calculate a more reliable probability density. Understandably, through the above method, the influence of abnormal anchor nodes is automatically identified and eliminated, thereby ensuring that the subsequently selected target anchor node groups consist of reliable line-of-sight anchor nodes, ultimately laying a solid foundation for generating high-precision positioning results.
[0104] Furthermore, in this embodiment, the centroid location of the first target cluster group is used as the final positioning location, achieving efficient and robust fusion of all optimization results. It is understood that the centroid originates from a highly consistent cluster of calculated positions within a rigorously selected, highly reliable anchor node group. By calculating the geometric center of these highly reliable positions, the system can effectively smooth out residual random errors that may exist at individual positions, thereby statistically deriving the best estimate point closest to the terminal's true location. This not only suppresses non-line-of-sight errors and identifies abnormal nodes, but also outputs the positioning location in a stable, accurate, and non-abrupt manner, ultimately providing a highly deterministic and reliable positioning location for the entire complex positioning process.
[0105] In some embodiments, in S150, for each first anchor node group, the probability density corresponding to the first anchor node group is calculated based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all anchor nodes in the first anchor node group.
[0106] For example, the first number of anchor nodes may be the number of anchor nodes that meet the preset clustering conditions; the second number of anchor nodes may be the number of all target anchor nodes.
[0107] For example, the quotient between the number of first anchor nodes and the number of second anchor nodes can be used as the probability density.
[0108] In some embodiments, in S160, the first anchor node group can be filtered according to the target prior probability density and the probability density corresponding to each first anchor node group to obtain the filtered target anchor node group.
[0109] For example, the target anchor node group can be the anchor node group filtered by the target prior probability density of the first anchor node group.
[0110] In one example, if the probability density is greater than the target prior probability density, the anchor node belongs to the target anchor node group; otherwise, the anchor node does not belong to the target anchor node group.
[0111] In some embodiments, in S170, the positioning position is determined based on the target anchor node information corresponding to each anchor node in the target anchor node group.
[0112] For example, the target anchor node information may include anchor node location information and a timestamp, and the location of the mobile terminal can be calculated based on the target anchor node information. For instance, the location of the mobile terminal can be obtained by using a triangulation algorithm to calculate the target anchor node information.
[0113] For example, in response to the mobile terminal entering the target area, anchor node information fed back by target anchor nodes in the target area is received. Based on the anchor node information and the location points corresponding to multiple standard verification positioning points, a target verification positioning point that meets a preset distance condition is selected from the multiple standard verification positioning points, and the target prior probability density corresponding to the target verification positioning point is determined. Further, the target anchor nodes are combined according to a preset number of anchor nodes to obtain multiple first anchor node groups. For each first anchor node group, based on the anchor node information corresponding to the first anchor nodes in the first anchor node group, the number of first anchor nodes that meet a preset clustering condition is determined from the multiple first anchor nodes. For each first anchor node group, the probability density corresponding to the first anchor node group is calculated based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes. Based on the target prior probability density and the probability density corresponding to each first anchor node group, the first anchor node groups are filtered to obtain filtered target anchor node groups. The positioning location is determined based on the target anchor node information corresponding to each anchor node in the target anchor node group.
[0114] In this embodiment, a combination of prior probability density and data filtering systematically improves positioning accuracy and reliability in complex environments. Understandably, by utilizing the prior probability density provided by standard calibration positioning points, a reliable initial estimate and probability benchmark are established for the entire system. Then, through anchor node combination and intra-group clustering analysis, the internal consistency of each node group is quickly and accurately identified and quantified, effectively identifying and suppressing the influence of non-line-of-sight anchor nodes. Finally, by fusing the prior probability density with the real-time calculated group probability density, the most reliable target anchor node group is selected for positioning calculation. This fully utilizes prior information in the target environment and, through dynamic probability assessment and clustering verification, achieves proactive identification and elimination of non-line-of-sight anchor nodes, ultimately outputting stable and accurate positioning locations in complex and ever-changing real-world scenarios.
[0115] In order to determine the prior probability density corresponding to each standard calibration location point, as another implementation of this application, this application also provides another implementation of the location method, as detailed in the following embodiments.
[0116] Figure 4 A flowchart illustrating a positioning method provided in one embodiment of this application is shown. Figure 4 As shown, the positioning method includes the following steps S410-S460:
[0117] S410. For each standard verification positioning point, determine the target anchor node combination corresponding to the standard verification positioning point and the number of fourth anchor nodes in the target anchor node combination from multiple anchor node combinations in the preset target line-of-sight anchor point list.
[0118] S420. For each standard verification positioning point, receive the anchor node information fed back by the fifth anchor node, and determine the number of fifth anchor nodes of the fifth anchor node.
[0119] S430. According to the preset permutation and combination formula, calculate the number of the second group based on the number of the fourth anchor node and the number of the fifth anchor node.
[0120] S440. Based on the number of the second group and the number of the fourth anchor nodes, combine the fifth anchor nodes to obtain the number of second anchor node groups.
[0121] S450. For each second anchor node group, determine the sixth target anchor node that meets the preset screening conditions and the number of sixth target anchor nodes based on the anchor node position of the sixth anchor node in the second anchor node group.
[0122] S460. Calculate the prior probability density of the standard verification positioning point based on the number of sixth target anchor nodes and the number of fifth anchor nodes.
[0123] In some embodiments, in S410, standard calibration positioning points in the target area can be distributed in the target area according to a preset distribution density. The preset distribution density can be pre-set by technicians according to different positioning accuracy requirements.
[0124] In some optional embodiments, for each standard verification positioning point, based on the actual position of the standard verification positioning point and the anchor node position, the corresponding line-of-sight anchor node is determined from multiple anchor nodes, and a preset line-of-sight anchor point list is constructed. The preset line-of-sight anchor point list includes the correspondence between the standard verification positioning point and one or more line-of-sight anchor nodes. For each standard verification positioning point, according to a preset accuracy attenuation calculation formula, the corresponding target line-of-sight anchor node is determined from multiple line-of-sight anchor nodes in the preset line-of-sight anchor point list, and a preset target line-of-sight anchor point list is constructed.
[0125] For example, for each standard verification positioning point, based on the actual location of the standard verification positioning point and the anchor node positions of all anchor nodes within the target area, the corresponding line-of-sight anchor node is determined, resulting in a preset line-of-sight anchor node sequence for that standard verification positioning point. Further, the preset line-of-sight anchor node sequences corresponding to all standard verification positioning points are combined to obtain a preset line-of-sight anchor node list.
[0126] In one example, the preset line-of-sight anchor point sequence corresponding to the standard verification positioning point can be represented as follows: The list of preset line-of-sight anchor points can be represented as follows: The number of rows and columns in the preset line-of-sight anchor point list can be varied according to the anchor point positions in the target area and the actual positions of the standard verification positioning points.
[0127] Furthermore, for each standard verification positioning point, based on the preset accuracy attenuation calculation formula, the target line-of-sight anchor node corresponding to the standard verification positioning point is determined from multiple line-of-sight anchor nodes in the preset line-of-sight anchor point list, thus obtaining the target line-of-sight anchor point sequence corresponding to the standard verification positioning point. Further, the target line-of-sight anchor point sequences corresponding to all standard verification positioning points are combined to obtain a preset target line-of-sight anchor point list. For example, the GDOP between the standard verification positioning point and each line-of-sight anchor node can be calculated, and the first preset number of line-of-sight anchor nodes with a GDOP less than a preset range threshold are taken as target line-of-sight anchor nodes. The preset range threshold [1,3] can be set, and the preset value can be [4,8].
[0128] In one example, the sequence of target line-of-sight anchor points corresponding to the standard calibration positioning points can be represented as follows: The list of preset target line-of-sight anchor points can be represented as follows: .in, The number of rows and columns in the preset target line-of-sight anchor point list can be varied according to the anchor point positions in the target area and the actual positions of the standard verification positioning points.
[0129] In another example, the target line-of-sight anchor point sequence can be determined based on the distance between the line-of-sight anchor node and the standard verification positioning point. For instance, the distance between the line-of-sight anchor node and the standard verification positioning point can be calculated, and line-of-sight anchor nodes with distances less than a preset distance threshold can be selected as the target line-of-sight anchor point sequence. Figure 5 This is a schematic diagram of the target line-of-sight anchor point in the target area provided in one embodiment of this application, as shown below. Figure 5 As shown, the line-of-sight anchor nodes corresponding to the standard verification positioning point at the center position may include anchor nodes 13 to 20; the target line-of-sight anchor nodes are anchor nodes 14, 15, 18, and 19; while the remaining anchor nodes are non-line-of-sight anchor nodes.
[0130] It is understood that, in the embodiments of this application, by constructing a preset list of line-of-sight anchor points and a preset list of target line-of-sight anchor points, the line-of-sight anchor points corresponding to each standard verification positioning point and the target line-of-sight anchor points can be quickly determined, thereby improving the system positioning speed.
[0131] In other embodiments, for each standard verification positioning point, a non-line-of-sight anchor node sequence can be calculated based on GDOP. For example, anchor nodes with a GDOP greater than a second preset range threshold between the standard verification positioning point and the anchor node can be considered as non-line-of-sight anchor nodes, and / or all anchor nodes located on a straight line among the anchor nodes corresponding to the standard verification positioning point can be considered as non-line-of-sight anchor nodes. The non-line-of-sight anchor nodes corresponding to all standard verification positioning points are then combined to obtain a non-line-of-sight list. For example, the second preset range can be [10, ...]. ].
[0132] Furthermore, for each standard verification positioning point, the anchor nodes corresponding to that standard verification positioning point can be filtered based on the non-line-of-sight anchor nodes to obtain the target anchor point combination.
[0133] For example, the target anchor node combination can be determined based on a preset list of target line-of-sight anchor points, and the target visual anchor nodes corresponding to the standard verification positioning point. The number of fourth anchor nodes can represent the number of target visual anchor nodes corresponding to the standard verification positioning point.
[0134] In some embodiments, in S420, for each standard verification positioning point, the anchor node information fed back by the fifth anchor node is received, and the number of fifth anchor nodes of the fifth anchor node is determined.
[0135] For example, the mobile terminal device can be placed at a standard verification location point, and a location request can be sent through the mobile terminal device. The anchor node that receives the anchor node information can be used as the fifth anchor node, and the number of fifth anchor nodes corresponding to the fifth anchor node can be counted.
[0136] In some embodiments, in S430, the number of the second group is calculated according to the number of the fourth anchor node and the number of the fifth anchor node, based on a preset permutation and combination formula.
[0137] For example, the number of groups corresponding to the anchor node groups can be determined based on the preset permutation and combination formula, the number of fourth anchor nodes, and the number of fifth anchor nodes, that is, the number of second groups.
[0138] In one example, a second anchor node group is selected from the anchor nodes of the fifth anchor node group according to a preset permutation and combination formula, which is the number of anchor nodes of the fourth anchor node group.
[0139] In some embodiments, in S440, the fifth anchor node is combined according to the number of the second group and the number of the fourth anchor node to obtain the number of second anchor node groups.
[0140] In one example, the number of fifth anchor nodes can be represented as The number of fourth anchor nodes can be expressed as By pre-setting permutation and combination formulas, the number of fourth anchor nodes, and the number of fifth anchor nodes, the division of the second anchor node group is determined. The corresponding second group of numbers ,in, .
[0141] In some embodiments, in S450, for each second anchor node group, a sixth target anchor node that meets the preset screening conditions is determined based on the anchor node position of the sixth anchor node in the second anchor node group, and the number of sixth target anchor nodes is determined.
[0142] For example, the sixth anchor node is an anchor node included in the second anchor node group, and the sixth target anchor node can be an anchor node among the sixth anchor nodes that meets the preset filtering conditions; the number of sixth target anchor nodes can be the number of sixth target anchor nodes.
[0143] In some optional embodiments, for each second anchor node group, multiple calculated positioning information corresponding to the standard verification positioning point are calculated based on the anchor node information of the sixth anchor node in the second anchor node group. Clustering calculations are performed on the multiple calculated positioning information to obtain one or more second cluster groups. Each second cluster group has a second cluster centroid. If the distance between the location of the second centroid and the location of the standard verification positioning point is less than a preset distance threshold, and all sixth anchor nodes in the second cluster group belong to a preset line-of-sight anchor point list, then the sixth anchor node is designated as the sixth target anchor node.
[0144] For example, for each second anchor node group, based on the anchor node information of the sixth anchor node in the second anchor node group, multiple calculated positioning information corresponding to the standard verification positioning point are calculated. The calculated positioning information can be the position of the standard verification positioning point calculated through the sixth anchor node.
[0145] In one example, the location information can be calculated using the following formulas (8) and (9):
[0146]
[0147] in, This is the difference in distance between the two anchor nodes and the standard verification positioning point; The distance between the anchor node and the standard calibration positioning point; c is the speed of signal propagation in air, ( () represents the coordinates of the anchor node; This refers to the signal transmission time.
[0148] Furthermore, clustering calculations are performed on multiple calculated positioning information to obtain one or more second cluster groups. Each second cluster group has a second cluster centroid. If the distance between the location of the second centroid and the location of the standard verification positioning point is less than a preset distance threshold, and all sixth anchor nodes in the second cluster group belong to anchor nodes in a preset line-of-sight anchor point list, then the sixth anchor node is designated as the sixth target anchor node.
[0149] Specifically, the distance between each second centroid and the location point can be calculated. If the distance is less than a preset distance threshold and all anchor nodes in the second cluster group belong to the preset line-of-sight anchor point list, then the sixth anchor node is taken as the sixth target anchor node.
[0150] In this application, cluster analysis is performed on the multiple positioning results calculated for each anchor node group. This effectively eliminates outliers caused by abnormal ranging of individual anchor nodes or transient environmental interference, thereby obtaining a more stable and reliable position estimate through the cluster centroid. Furthermore, by comparing the second centroid point with known standard calibration positioning points, it is ensured that the overall output of the selected anchor node group is consistent with the true reference height in physical space. In addition, during the final selection, it is mandatory that all anchor nodes in the group come from a preset line-of-sight anchor point list, thereby avoiding the most significant source of error—non-line-of-sight propagation—from the source, ensuring that the data used for the final calculation originates from high-quality line-of-sight signals.
[0151] In other embodiments, for each standard verification positioning point, the predicted position corresponding to the standard verification positioning point is calculated based on the anchor node information corresponding to the fourth anchor node in the target anchor node combination. The predicted position is verified based on the positioning point position corresponding to the standard verification positioning point. If the verification is successful, the sixth target anchor node that meets the preset screening conditions, and the number of sixth target anchor nodes, are determined based on the anchor node position of the sixth anchor node in the second anchor node group.
[0152] For example, it is possible to obtain from Multiple anchor nodes are selected, and the predicted position corresponding to the standard verification positioning point is calculated based on the anchor node information corresponding to the selected anchor nodes. Furthermore, the actual position corresponding to the predicted position and the standard verification positioning point is calculated using the following formula (10). Distance between :
[0153]
[0154] If the distance value is less than a preset difference, the sixth target anchor node that meets the preset screening conditions is determined based on the anchor node position of the sixth anchor node in the second anchor node group, as well as the number of sixth target anchor nodes. Conversely, if the distance value is greater than or equal to the preset difference, the calculation stops and an error is reported.
[0155] In this embodiment of the application, the reliability of the fourth anchor node representing the line-of-sight anchor node is ensured by verifying the fourth anchor node in the target anchor node combination.
[0156] In some embodiments, in S460, the prior probability density of the standard verification positioning point is calculated based on the number of the sixth target anchor nodes and the number of the fifth anchor nodes.
[0157] In one example, the prior probability density of the standard calibration location point can be calculated using the following formula (11). :
[0158]
[0159] Figure 4 In the illustrated embodiment, target anchor node combinations are determined based on a preset target line-of-sight anchor point list, ensuring the high quality of the initial anchor node group and avoiding the introduction of non-line-of-sight anchor nodes. Furthermore, by receiving the currently available fifth anchor node information and calculating the number of combinations, all possible anchor node configurations are comprehensively considered, covering various geometric layouts. By grouping the fifth anchor nodes and selecting sixth target anchor nodes that meet the line-of-sight and position conditions, unreliable or error-prone anchor nodes are further eliminated, ensuring that all anchor nodes participating in the calculation have high reliability. Even further, a priori probability density is calculated based on the ratio of the number of sixth target anchor nodes to the number of fifth anchor nodes, directly reflecting the proportion of reliable anchor nodes in the target environment, thus closely linking the priori probability density with the real-time anchor node status. The priori probability density calculated in this way can effectively suppress the impact of NLOS errors, improving the adaptability and overall performance of the positioning system in complex environments.
[0160] Below, in conjunction with Figures 6 to 8 The following examples illustrate the positioning method.
[0161] Figure 6 , Figure 7 as well as Figure 8 This is a flowchart illustrating a positioning method provided in one embodiment of this application. Figure 6As shown, in S610, a UWB positioning environment is established. This UWB positioning environment includes multiple anchor nodes and multiple standard verification positioning points. In S620, the target standard verification positioning point is determined. In S630, the prior probability density corresponding to each standard verification positioning point is updated. In S640, the NLOS anchor nodes are filtered using the prior probability density. In S650, the location of the mobile terminal is calculated using the filtered LOS anchor nodes.
[0162] Furthermore, such as Figure 7 As shown, the prior probability density corresponding to each standard verification positioning point can be updated as follows: In S631, obtain the list of anchor nodes that can currently receive standard verification tag signals. The standard verification tag signal includes anchor node location information and a timestamp. In S632, select multiple anchor node combinations from the anchor node information list and calculate the coordinates corresponding to the anchor node combinations. In S633, verify the current standard verification positioning point. If the verification passes, execute S634 to cluster the calculated locations. In S635, filter qualified anchor nodes. In S636, calculate the prior probability density based on the number of filtered anchor nodes and the number of anchor nodes in the anchor node information list.
[0163] Furthermore, such as Figure 8 As shown, the location of the mobile terminal can be calculated as follows: In S651, obtain the list of anchor nodes that can currently receive standard verification tag signals. In S652, calculate the initial position of the current location point. In S653, determine the nearest target standard verification location point based on the initial position. In S654, calculate the coordinates of the corresponding anchor node combination in the anchor node information list. In S655, cluster the coordinates and calculate the probability density of each cluster. In S656, select the clusters with a probability density greater than the prior probability density corresponding to the target standard verification location point as the target clusters. In S857, calculate the location of the mobile terminal based on the centroid position corresponding to the target cluster.
[0164] Based on the positioning method provided in the above embodiments, this application also provides specific implementations of the positioning device. Please refer to the following embodiments.
[0165] First see Figure 9 The positioning device 900 provided in this application embodiment includes the following modules:
[0166] The receiving module 901 is used to receive anchor node information fed back by the target anchor node in the target area in response to the mobile terminal entering the target area. The target area includes multiple standard verification positioning points and multiple anchor nodes, and each standard verification positioning point has a priori probability density.
[0167] The first determining module 902 is used to select a target verification positioning point that meets the preset distance condition from multiple standard verification positioning points based on the anchor node information and the positioning point positions corresponding to multiple standard verification positioning points, and to determine the target prior probability density corresponding to the target verification positioning point.
[0168] The combination module 903 is used to combine the target anchor nodes according to the preset number of anchor nodes to obtain multiple first anchor node groups;
[0169] The second determining module 904 is used to determine the number of first anchor nodes that meet the preset clustering conditions from multiple first anchor nodes for each first anchor node group, based on the anchor node information corresponding to the first anchor node in the first anchor node group.
[0170] The calculation module 905 is used to calculate the probability density corresponding to each first anchor node group based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes.
[0171] The filtering module 906 is used to filter the first anchor node group according to the target prior probability density and the probability density corresponding to each first anchor node group to obtain the filtered target anchor node group.
[0172] The third determining module 907 is used to determine the positioning position based on the target anchor node information corresponding to each anchor node in the target anchor node group.
[0173] In one embodiment, the anchor node information includes at least the anchor node location; for each first anchor node group, the second determining module 904 determines the number of first anchor nodes that meet the preset clustering conditions from multiple first anchor nodes based on the anchor node information corresponding to the first anchor nodes in the first anchor node group in the following manner: for each first anchor node group, calculate multiple calculation locations corresponding to the mobile terminal based on the anchor node information corresponding to the first anchor nodes in the first anchor node group; perform clustering calculation on the multiple calculation locations in the first anchor node group to obtain a first cluster group; for the first cluster group, determine the number of third anchor nodes corresponding to the first cluster group, wherein the number of third anchor nodes is the number of anchor nodes included in the first cluster group; for each first anchor node group, calculate the probability density corresponding to the first anchor node group based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes, including: for each first cluster group, calculate the probability density of the first cluster group based on the number of second anchor nodes and the number of third anchor nodes.
[0174] In one embodiment, the third determining module 907 adopts the following method: each first cluster group has a corresponding first cluster centroid point, and the first target cluster group is the cluster group in the first cluster group whose probability density is greater than or equal to the target prior probability density; the positioning position is determined according to the target anchor node information corresponding to each anchor node in the target anchor node group; the positioning position is calculated and determined according to the position of the first target centroid point corresponding to the centroid point in the first target cluster group.
[0175] In one embodiment, the first determining module 902 selects a target verification positioning point that meets a preset distance condition from multiple standard verification positioning points based on the anchor node information and the positioning point positions corresponding to multiple standard verification positioning points in the following manner: calculating the initial position of the mobile terminal based on the anchor node information; calculating the distance between the initial position and the positioning point position corresponding to each standard verification positioning point; determining the minimum distance value from multiple distances, and using the standard verification positioning point corresponding to the minimum distance value as the target verification positioning point.
[0176] In one embodiment, multiple standard verification positioning points are distributed in the target area according to a preset distribution density. Before selecting a target verification positioning point that meets a preset distance condition from the multiple standard verification positioning points based on anchor node information and the positioning point positions corresponding to the multiple standard verification positioning points, and determining the target prior probability density corresponding to the target verification positioning point, the device further includes: a fourth determining module, used to determine, for each standard verification positioning point, the target anchor node combination corresponding to the standard verification positioning point and the number of fourth anchor nodes in the target anchor node combination from multiple anchor node combinations in a preset target line-of-sight anchor point list; and to receive a fifth anchor node for each standard verification positioning point. The system receives feedback on anchor node information and determines the number of fifth anchor nodes within the fifth anchor node group. Following a preset permutation and combination formula, it calculates the number of the second group based on the number of fourth and fifth anchor nodes. Based on the number of the second group and the number of fourth anchor nodes, it combines the fifth anchor nodes to obtain the number of second anchor node groups. For each second anchor node group, it determines the sixth target anchor node that meets the preset screening conditions based on the anchor node position of the sixth anchor node in that group, and the number of the sixth target anchor nodes. Based on the number of the sixth target anchor nodes and the number of fifth anchor nodes, it calculates the prior probability density of the standard verification positioning point.
[0177] In one embodiment, the fourth determining module determines, for each second anchor node group, a sixth target anchor node that meets preset screening conditions, and the number of sixth target anchor nodes, based on the anchor node position of the sixth anchor node in the second anchor node group: For each second anchor node group, multiple calculated positioning information corresponding to the standard verification positioning point are calculated based on the anchor node information of the sixth anchor node in the second anchor node group; clustering calculation is performed on the multiple calculated positioning information to obtain one or more second cluster groups, wherein each second cluster group has a second cluster centroid; if the distance between the position of the second centroid and the positioning point position of the standard verification positioning point is less than a preset distance threshold, and all sixth anchor nodes in the second cluster group belong to the anchor nodes in the preset line-of-sight anchor point list, the sixth anchor node is taken as the sixth target anchor node.
[0178] In one embodiment, before determining the target anchor node combination corresponding to each standard verification positioning point and the number of fourth anchor nodes in the target anchor node combination from multiple anchor node combinations in a preset target line-of-sight anchor point list for each standard verification positioning point, the fourth determining module is further configured to, for each standard verification positioning point, determine the line-of-sight anchor node corresponding to the standard verification positioning point from multiple anchor nodes based on the actual position of the standard verification positioning point and the anchor node position of the anchor node, and construct a preset line-of-sight anchor point list, the preset line-of-sight anchor point list including the correspondence between the standard verification positioning point and one or more line-of-sight anchor nodes; for each standard verification positioning point, determine the target line-of-sight anchor node corresponding to the standard verification positioning point from multiple line-of-sight anchor nodes in the preset line-of-sight anchor point list according to a preset accuracy attenuation calculation formula, and construct a preset target line-of-sight anchor point list.
[0179] In one embodiment, the fourth determining module determines, for each second anchor node group, a sixth target anchor node that meets the preset screening conditions, and the number of sixth target anchor nodes, based on the anchor node position of the sixth anchor node in the second anchor node group: For each standard verification positioning point, the predicted position corresponding to the standard verification positioning point is calculated based on the anchor node information corresponding to the fourth anchor node in the target anchor node combination; the predicted position is verified based on the positioning point position corresponding to the standard verification positioning point; if the verification is successful, the sixth target anchor node that meets the preset screening conditions, and the number of sixth target anchor nodes, are determined based on the anchor node position of the sixth anchor node in the second anchor node group.
[0180] Figure 10 A schematic diagram of the hardware structure of the positioning device provided in an embodiment of this application is shown.
[0181] The positioning device may include a processor 1001 and a memory 1002 storing computer program instructions.
[0182] Specifically, the processor 1001 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0183] Memory 1002 may include mass storage for data or instructions. For example, and not limitingly, memory 1002 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1002 may include removable or non-removable (or fixed) media. Where appropriate, memory 1002 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 1002 is non-volatile solid-state memory.
[0184] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.
[0185] The processor 1001 implements any of the positioning methods described in the above embodiments by reading and executing computer program instructions stored in the memory 1002.
[0186] In one example, the positioning device may also include a communication interface 1003 and a bus 1010. For example, Figure 10 As shown, the processor 1001, memory 1002, and communication interface 1003 are connected through bus 1010 and complete communication with each other.
[0187] The communication interface 1003 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0188] Bus 1010 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 1010 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.
[0189] The positioning device can execute the positioning method in this application embodiment based on the information fed back by the anchor nodes, thereby achieving a combination of Figure 1 and Figure 4 The method of location described.
[0190] Furthermore, in conjunction with the positioning methods described in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the positioning methods described in the above embodiments.
[0191] This application also provides a computer program product, including a computer program, which, when executed, implements any of the positioning methods described in the above embodiments.
[0192] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0193] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0194] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0195] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0196] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A positioning method, characterized in that, Applied to a mobile terminal, the method includes: In response to the mobile terminal entering the target area, the anchor node information fed back by the target anchor node in the target area is received. The target area includes multiple standard verification positioning points and multiple anchor nodes, and each of the standard verification positioning points has a priori probability density. Based on the anchor node information and the location of the positioning points corresponding to the multiple standard verification positioning points, a target verification positioning point that meets the preset distance condition is selected from the multiple standard verification positioning points, and the target prior probability density corresponding to the target verification positioning point is determined. According to the preset number of anchor nodes, the target anchor nodes are combined to obtain multiple first anchor node groups; For each of the first anchor node groups, based on the anchor node information corresponding to the first anchor node in the first anchor node group, the number of first anchor nodes that meet the preset clustering conditions is determined from multiple first anchor nodes. For each of the first anchor node groups, the probability density corresponding to the first anchor node group is calculated based on the number of the first anchor nodes in the first anchor node group and the number of the second anchor nodes of all target anchor nodes. Based on the target prior probability density and the probability density corresponding to each first anchor node group, the first anchor node group is filtered to obtain the filtered target anchor node group. The positioning location is determined based on the target anchor node information corresponding to each anchor node in the target anchor node group; The anchor node information includes at least the anchor node location; For each of the first anchor node groups, determining the number of first anchor nodes that satisfy the preset clustering conditions from multiple first anchor nodes based on the anchor node information corresponding to the first anchor nodes in the first anchor node group includes: For each of the first anchor node groups, multiple calculation positions corresponding to the mobile terminal are calculated based on the anchor node information corresponding to the first anchor node in the first anchor node group. Clustering calculations are performed on the multiple computational locations in the first anchor node group to obtain a first cluster group; For the first cluster group, determine the number of third anchor nodes in the first cluster group, wherein the number of third anchor nodes is the number of anchor nodes contained in the first cluster group; For each of the first anchor node groups, the probability density corresponding to the first anchor node group is calculated based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes, including: For each of the first cluster groups, the probability density of the first cluster group is calculated based on the number of the second anchor nodes and the number of the third anchor nodes.
2. The positioning method according to claim 1, characterized in that, Each of the first cluster groups has a corresponding first cluster centroid point, and the first target cluster group is the cluster group in the first cluster group whose probability density is greater than or equal to the target prior probability density; The step of determining the positioning location based on the target anchor node information corresponding to each anchor node in the target anchor node group includes: The determined positioning position is calculated based on the position of the first target centroid point corresponding to the centroid point in the first target cluster group.
3. The positioning method according to claim 1, characterized in that, The step of selecting a target verification positioning point that meets a preset distance condition from the plurality of standard verification positioning points based on the anchor node information and the positioning point positions corresponding to the plurality of standard verification positioning points includes: The initial position of the mobile terminal is calculated based on the anchor node information. Calculate the distance between the initial position and the position of the corresponding positioning point for each of the standard verification positioning points; The minimum distance value is determined from the plurality of distances, and the standard verification positioning point corresponding to the minimum distance value is used as the target verification positioning point.
4. The positioning method according to claim 1, characterized in that, The multiple standard verification and positioning points are distributed in the target area according to a preset distribution density; Before selecting a target verification positioning point that meets a preset distance condition from the plurality of standard verification positioning points based on the anchor node information and the positioning point positions corresponding to the plurality of standard verification positioning points, and determining the target prior probability density corresponding to the target verification positioning point, the method further includes: For each of the standard verification positioning points, the target anchor node combination corresponding to the standard verification positioning point and the number of fourth anchor nodes in the target anchor node combination are determined from multiple anchor node combinations in the preset target line-of-sight anchor point list. For each of the standard verification positioning points, receive the anchor node information fed back by the fifth anchor node, and determine the number of fifth anchor nodes of the fifth anchor node; According to the preset permutation and combination formula, the number of the second group is calculated based on the number of the fourth anchor node and the number of the fifth anchor node; Based on the number of the second group and the number of the fourth anchor nodes, the fifth anchor nodes are combined to obtain the number of second anchor node groups of the second group. For each of the second anchor node groups, a sixth target anchor node that meets the preset screening conditions is determined based on the anchor node position of the sixth anchor node in the second anchor node group, and the number of the sixth target anchor nodes is determined. The prior probability density of the standard verification positioning point is calculated based on the number of the sixth target anchor nodes and the number of the fifth anchor nodes.
5. The positioning method according to claim 4, characterized in that, For each of the second anchor node groups, determining the sixth target anchor node that meets the preset screening conditions based on the position of the sixth anchor node in the second anchor node group, and the number of the sixth target anchor nodes, includes: For each of the second anchor node groups, based on the anchor node information of the sixth anchor node in the second anchor node group, multiple calculated positioning information corresponding to the standard verification positioning point are calculated; Clustering calculations are performed on the multiple calculated positioning information to obtain one or more second cluster groups, wherein each second cluster group has a second cluster centroid point; If the distance between the location of the second centroid and the location of the standard verification positioning point is less than a preset distance threshold, and all sixth anchor nodes in the second cluster group belong to the anchor nodes in the preset line-of-sight anchor point list, then the sixth anchor node is taken as the sixth target anchor node.
6. The positioning method according to claim 4 or 5, characterized in that, Before determining the target anchor node combination corresponding to each standard verification positioning point and the number of fourth anchor nodes in the target anchor node combination from multiple anchor node combinations in a preset target line-of-sight anchor point list for each standard verification positioning point, the method further includes: For each of the standard verification positioning points, based on the actual position of the standard verification positioning point and the position of the anchor node, the line-of-sight anchor node corresponding to the standard verification positioning point is determined from multiple anchor nodes, and a preset line-of-sight anchor node list is constructed. The preset line-of-sight anchor node list includes the correspondence between the standard verification positioning point and one or more line-of-sight anchor nodes. For each of the standard verification positioning points, according to the preset accuracy attenuation calculation formula, the target line-of-sight anchor node corresponding to the standard verification positioning point is determined from multiple line-of-sight anchor nodes in the preset line-of-sight anchor point list, and a preset target line-of-sight anchor point list is constructed.
7. The positioning method according to claim 4, characterized in that, For each of the second anchor node groups, determining the sixth target anchor node that meets the preset screening conditions based on the anchor node position of the sixth anchor node in the second anchor node group, and the number of the sixth target anchor nodes, includes: For each of the standard verification positioning points, the predicted position corresponding to the standard verification positioning point is calculated based on the anchor node information corresponding to the fourth anchor node in the target anchor node combination. The predicted position is verified based on the location of the standard verification location point. If the verification is successful, the sixth target anchor node that meets the preset screening conditions and the number of the sixth target anchor nodes are determined based on the anchor node location of the sixth anchor node in the second anchor node group.
8. A positioning device, characterized in that, The device, applied to a mobile terminal, includes: A receiving module is configured to receive anchor node information fed back by target anchor nodes in the target area in response to the mobile terminal entering the target area. The target area includes multiple standard verification positioning points and multiple anchor nodes, and each standard verification positioning point has a priori probability density. The first determining module is used to select a target verification positioning point that meets a preset distance condition from the multiple standard verification positioning points based on the anchor node information and the positioning point positions corresponding to the multiple standard verification positioning points, and to determine the target prior probability density corresponding to the target verification positioning point. The combination module is used to combine the target anchor nodes according to a preset number of anchor nodes to obtain multiple first anchor node groups; The second determining module is configured to, for each of the first anchor node groups, determine the number of first anchor nodes satisfying a preset clustering condition from multiple first anchor nodes based on the anchor node information corresponding to the first anchor nodes in the first anchor node group; the anchor node information includes at least the anchor node position; and is further configured to, for each of the first anchor node groups, calculate multiple calculation positions corresponding to the mobile terminal based on the anchor node information corresponding to the first anchor nodes in the first anchor node group; perform clustering calculation on the multiple calculation positions in the first anchor node group to obtain a first cluster group; and determine the number of third anchor nodes corresponding to the first cluster group for the first cluster group, wherein the number of third anchor nodes is the number of anchor nodes included in the first cluster group; The calculation module is configured to calculate the probability density corresponding to each first anchor node group based on the number of first anchor nodes in the first anchor node group and the number of second anchor nodes of all target anchor nodes; and to calculate the probability density of each first cluster group based on the number of second anchor nodes and the number of third anchor nodes. The filtering module is used to filter the first anchor node group according to the target prior probability density and the probability density corresponding to each first anchor node group to obtain the filtered target anchor node group. The third determining module is used to determine the positioning position based on the target anchor node information corresponding to each anchor node in the target anchor node group.
9. A positioning device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the positioning method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions that, when executed by a processor, implement the positioning method as described in any one of claims 1-7.
11. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device performs the positioning method as described in any one of claims 1-7.