Positioning method and apparatus, electronic device, storage medium, and program product

By comprehensively considering the similarity between WiFi signals and directional information, the problem of low positioning accuracy of WiFi positioning technology in indoor scenarios is solved, and higher precision positioning is achieved in environments with fluctuating signals.

CN122120909APending Publication Date: 2026-05-29SHANDONG SENTER ELECTRONICS

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHANDONG SENTER ELECTRONICS
Filing Date
2024-11-29
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing WiFi positioning technology has low positioning accuracy in indoor or obstructed environments, mainly due to the large fluctuations in WiFi signals, which leads to large errors in weighted calculations based on signal strength similarity.

Method used

Taking into account both WiFi signal and directional information, multiple target location points are determined by the similarity of device fingerprint data. Weighted positioning is then performed by calculating weight values ​​based on the similarity of wireless network signal data and direction, thus introducing directional dimension information to improve positioning accuracy.

Benefits of technology

When wireless network signals fluctuate significantly, the similarity of the directional dimension is used to determine a more accurate target location and weight, thereby improving the accuracy of positioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122120909A_ABST
    Figure CN122120909A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a positioning method and device, electronic equipment, storage medium and program product. The positioning method comprises: determining a plurality of target location points based on the similarity between the device fingerprint data of the to-be-positioned device and the device fingerprint data of the location points recorded in the device fingerprint database; the device fingerprint data comprises wireless network signal data and direction; determining a first weight value based on the similarity between the device fingerprint data of the plurality of target location points and the to-be-positioned device fingerprint data; and weighting the plurality of target location points based on the first weight value to obtain the location of the to-be-positioned device. Since the angle towards the wireless access point, i.e. the direction of the device, will affect the performance of the wireless network signal data, the similarity between the directions is introduced into the WKNN algorithm for weight calculation, thereby improving the accuracy of device positioning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of positioning technology, and in particular to a positioning method, device, electronic device, storage medium, and program product. Background Technology

[0002] Positioning technology is the foundation of location-based services. In indoor or other obstructed environments, GNSS (Global Navigation Satellite System) positioning signals are poor, so indoor positioning technologies are usually used, such as WiFi positioning technology, UWB (Ultra Wide Band) positioning technology, and inertial sensor-based positioning technology.

[0003] For WiFi positioning technology, algorithms such as KNN (K-Nearest Neighbor) and WKNN (Weighted K-Nearest Neighbor) are typically used. These algorithms weight the locations of K nearest neighbors identified in a fingerprint database based on the similarity between WiFi signal strengths to locate the device in question. However, this method only considers the similarity between WiFi signal strengths for location weighting, resulting in low positioning accuracy. Summary of the Invention

[0004] This application provides a positioning method, device, electronic device, storage medium, and program product, which improves positioning accuracy by combining WiFi signals and direction to perform similar position weighting.

[0005] In a first aspect, embodiments of this application provide a positioning method, comprising: determining multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of location points recorded in the device fingerprint database; the device fingerprint data includes wireless network signal data and direction; determining a first weight value based on the similarity between the device fingerprint data of the multiple target location points and the fingerprint data of the device to be located; and weighting the multiple target location points based on the first weight value to obtain the location of the device to be located.

[0006] In one possible implementation, the device fingerprint data further includes speed. Based on a first weight value, multiple target location points are weighted to obtain the location of the device to be located, including: determining a second weight value for each target location point based on the speed and direction of the device to be located; and weighting multiple target location points based on the first weight value and the second weight value to obtain the location of the device to be located.

[0007] In one possible implementation, the device fingerprint data further includes speed. Based on a first weight value, multiple target location points are weighted to obtain the location of the device to be located. This includes: weighting multiple target location points based on the first weight value to obtain candidate locations for the device to be located; determining the distance between the device to be located and a target wireless access point based on the candidate locations; the target wireless access point being either a wireless access point connected to the device to be located, or the wireless access point with the strongest signal among those scanned by the device to be located; determining a third weight value for each target location point based on the distance between the device to be located and the target wireless access point, the speed of the device to be located, and its direction; and weighting multiple target location points based on the first weight value and the third weight value to obtain the location of the device to be located.

[0008] In one possible implementation, the method further includes: performing real-time localization and map construction on the target area to obtain the coordinates, direction, and velocity of multiple location points in the target area; collecting wireless network signal data during the real-time localization and map construction process, and associating the collected wireless network signal data with the location points to obtain a device fingerprint database.

[0009] In one possible implementation, the method further includes:

[0010] Using a clustering algorithm, multiple location points are divided into multiple clusters based on their coordinates and wireless network signal data; the centroid of each cluster is determined as the location of the wireless access point.

[0011] In one possible implementation, a third weight value for each target location point is determined based on the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, including: inputting the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, into a pre-trained machine learning model to obtain the third weight value for each target location point.

[0012] In one possible implementation, the sample data in the training and testing sets of the machine learning model includes data collected by the acquisition device within a preset range of U-turn and steering actions, and the sample data includes device fingerprint data of sample location points; wherein the speed of the sample data in the testing set is greater than a preset threshold.

[0013] In one possible implementation, the method further includes: acquiring fingerprint data of a device to be located; determining a target wireless access point based on wireless network signal data in the fingerprint data of the device to be located; and determining multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of location points recorded in the device fingerprint database, including: determining multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of location points recorded in the device fingerprint database of the target wireless access point.

[0014] Secondly, embodiments of this application provide a positioning device, including: a target location determination module, configured to determine multiple target location points based on the similarity between fingerprint data of a device to be located and device fingerprint data of location points recorded in a device fingerprint database; the device fingerprint data includes wireless network signal data and direction; a first weight determination module, configured to determine a first weight value based on the similarity between the device fingerprint data of the multiple target location points and the fingerprint data of the device to be located; and a location weighting module, configured to weight the multiple target location points based on the first weight value to obtain the location of the device to be located.

[0015] In one possible implementation, the device fingerprint data further includes a speed and position weighting module, specifically used for: determining a second weight value for each target location point based on the speed and direction of the device to be located; and weighting multiple target location points based on the first weight value and the second weight value to obtain the location of the device to be located.

[0016] In one possible implementation, the device fingerprint data further includes a speed and location weighting module, comprising: a candidate location determination unit, configured to weight multiple target location points based on a first weight value to obtain candidate locations of the device to be located; a distance calculation unit, configured to determine the distance between the device to be located and a target wireless access point based on the candidate locations; the target wireless access point being a wireless access point connected to the device to be located, or the wireless access point with the strongest signal among the wireless access points scanned by the device to be located; a third weight determination unit, configured to determine a third weight value for each target location point based on the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located; and a location weighting unit, configured to weight multiple target location points based on the first weight value and the third weight value to obtain the location of the device to be located.

[0017] In one possible implementation, the positioning device further includes a device fingerprint database construction module, used for: performing real-time positioning and map construction on the target area to obtain the coordinates, direction, and speed of multiple location points in the target area; collecting wireless network signal data during the real-time positioning and map construction process, and associating the collected wireless network signal data with the location points to obtain a device fingerprint database.

[0018] In one possible implementation, the positioning device further includes a clustering module for:

[0019] Using a clustering algorithm, multiple location points are divided into multiple clusters based on their coordinates and wireless network signal data; the centroid of each cluster is determined as the location of the wireless access point.

[0020] In one possible implementation, the third weight determination unit is specifically used to: input the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, into a pre-trained machine learning model to obtain the third weight value of each target location point.

[0021] In one possible implementation, the sample data in the training and testing sets of the machine learning model includes data collected by the acquisition device within a preset range of U-turn and steering actions, and the sample data includes device fingerprint data of sample location points; wherein the speed of the sample data in the testing set is greater than a preset threshold.

[0022] In one possible implementation, the positioning device further includes a target access point determination module, configured to: acquire fingerprint data of the device to be located; and determine the target wireless access point based on the wireless network signal data in the fingerprint data of the device to be located.

[0023] Correspondingly, the target location determination module is specifically used to: determine multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of the location points recorded in the device fingerprint database of the target wireless access point.

[0024] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor;

[0025] The memory stores the instructions that the computer executes;

[0026] The processor executes computer execution instructions stored in memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.

[0027] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect.

[0028] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.

[0029] The positioning method, electronic device, storage medium, and program product provided in this application, for a device that needs to be located (i.e., a device to be located), determine multiple similar target locations by comparing the fingerprint data of the device to be located with the device fingerprint data of location points recorded in a device fingerprint database, including the similarity of wireless network signal data and direction. That is, multiple location points in the device fingerprint database that are similar to the device fingerprint data of the current location of the device to be located are identified. A weight value determined based on the similarity of wireless network signal data and direction (i.e., a first weight value) is used to weight the multiple target locations, and the weighted location is the determined location of the device to be located. By adding direction to the fingerprint database, the fingerprint database is improved, thereby supporting the calculation of the weight of similar locations by comprehensively considering the similarity of both wireless network signal and direction dimensions. Device positioning is achieved through weighted similarity locations. By introducing the additional direction dimension information, even when the wireless network signal fluctuates significantly, a more accurate target location and weight can be determined based on the similarity of the direction dimension, thereby improving the accuracy of positioning. Attached Figure Description

[0030] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0031] Figure 1 This is a schematic diagram illustrating the main processes of a WiFi positioning technology.

[0032] Figure 2 A flowchart illustrating a positioning method provided in an embodiment of this application;

[0033] Figure 3 A flowchart illustrating another positioning method provided in an embodiment of this application;

[0034] Figure 4 A schematic diagram showing the distribution of location points and wireless access points within the target area provided in this application embodiment;

[0035] Figure 5 A flowchart illustrating another positioning method provided in an embodiment of this application;

[0036] Figure 6 This is a schematic diagram of the structure of a positioning device provided in an embodiment of this application;

[0037] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0038] The accompanying drawings have illustrated specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to specific embodiments. Detailed Implementation

[0039] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0040] WiFi-based positioning technology is a rapidly emerging technology that has grown rapidly in recent years with the development of the mobile internet. WiFi positioning technology is suitable for indoor or other WiFi-covered scenarios, such as shopping malls, warehouses, and indoor parking lots, primarily using WiFi fingerprints for location tracking. WiFi fingerprints can be single-dimensional or multi-dimensional; for example, they can include only WiFi signal strength, such as RSSI (Received Signal Strength Indication), or they can include environmental parameters (temperature, humidity, etc.) and signal delay.

[0041] WiFi positioning technology mainly consists of two stages: the fingerprint database establishment stage and the positioning stage. The fingerprint database establishment stage involves collecting WiFi fingerprints from a large number of location points (also known as anchor points), and then associating these WiFi fingerprints with the location points to obtain a fingerprint database. In the positioning stage, the KNN algorithm or an improved KNN algorithm such as the WKNN algorithm is typically used for localization.

[0042] Figure 1 This is a schematic diagram illustrating the main processes of a WiFi positioning technology, such as... Figure 1 As shown, for any target area covered by WiFi, the required fingerprint data, such as RSSI, is collected at a large number of anchor points by the acquisition device. The fingerprint data is then compared with the tracing points ( Figure 1The location of the hollow circle (the fingerprint) is correlated with its coordinates to obtain a fingerprint database. In application, the KNN algorithm is used to calculate the similarity (e.g., Euclidean distance) between the online collected fingerprint data and the fingerprint data of each anchor point in the fingerprint database, selecting the K anchor points with the highest similarity as the K nearest neighbors. Subsequently, the location of the device to be located can be obtained by calculating the average or weighted average of the positions of the K nearest neighbors. The weights used for weighting are usually determined by the similarity of the fingerprint data. Alternatively, the K nearest neighbors can be voted on by category, and the spatial grid corresponding to the category with the most votes is used as the location result.

[0043] In related technologies, fingerprint data typically only includes WiFi-related data, such as RSSI and latency. Because WiFi signals are easily affected by the orientation, speed, and multipath effects of the device being located during movement, WiFi signal fluctuations are significant and accuracy is low. This introduces substantial errors into similarity calculations and weighting processes based on WiFi signals, impacting positioning accuracy.

[0044] To improve the accuracy of WiFi positioning, this application provides a positioning method. The fingerprint data in the fingerprint database includes at least two dimensions: wireless network signal data (WiFi signal data) and direction. By calculating the similarity between the online device fingerprint data of the device to be located and the device fingerprint data recorded in the device fingerprint database, multiple target location points are determined from the location points recorded in the device fingerprint database. These target locations are those that are similar to the current location of the device to be located. Using a first weight determined by the similarity, these multiple target locations are weighted to obtain the positioning result. By introducing the additional direction dimension, even when the wireless network signal fluctuates significantly, a more accurate target location and weight can be determined based on the similarity of the direction dimension, thereby improving the positioning accuracy.

[0045] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0046] Figure 2 This is a flowchart illustrating a positioning method provided in an embodiment of this application. This positioning method can be applied to any WiFi positioning scenario, such as an indoor WiFi positioning scenario. Figure 2 As shown, the method includes:

[0047] Step S201: Based on the fingerprint data of the device to be located and the similarity between it and the device fingerprint data of the location points recorded in the device fingerprint database, determine multiple target location points.

[0048] The device fingerprint data (also referred to as fingerprint data) includes wireless network signal data and direction. The fingerprint data of the device to be located is the fingerprint data of the device to be located, which can be any electronic device that needs to be located.

[0049] Wireless network signal data can be the wireless network signal strength, i.e., the Wi-Fi signal strength, such as RSSI. The direction can be represented by the angle between the sample and a reference direction, which can be any direction, such as true north, the direction of the wireless access point (AP), etc. The device to be located can be any type of device that needs to be located, such as a mobile phone, wearable device, robot, etc.

[0050] Device fingerprint data is a set of characteristic information used to identify or recognize a specific location within a target area. The fingerprint data of the device to be located describes the data collected when the device is located at the desired location point, used for positioning. This includes the orientation of the device, wireless network signal data, and may also include the speed of the device.

[0051] For example, device fingerprint data can be represented as (p, v, d), where p represents wireless network signal data such as RSSI, v represents speed, and d represents direction.

[0052] A device fingerprint database is used to store device fingerprint data and can be a system for storing and managing such data. It describes the distribution of device fingerprint data at different locations within a target area, including the device fingerprint data and coordinates of multiple locations (also known as anchor points) within the target area. The device fingerprint database is generated offline, that is, before the device to be located is located.

[0053] Taking device fingerprint data, which includes speed, direction, and wireless network signal data, as an example, a data acquisition device, such as a robot, can move within a target area. Using data collected by sensors on the device, the direction and speed of the acquisition device at each marker point can be determined. Simultaneously, the wireless network signal data of the acquisition device at each marker point can be acquired. By associating the wireless network signal data, speed, direction, and coordinates of the same marker point, the device fingerprint data for that marker point can be obtained. The coordinates of the marker point can be known or determined using data collected by sensors as the acquisition device moves.

[0054] The coordinates of a location point in the device fingerprint database, such as (x, y), can be associated with the device fingerprint data (p, v, d) using key-value pairs, i.e., (p, v, d) : (x, y). Alternatively, the hash value corresponding to the device fingerprint data can be used as the key to obtain the key-value pair of the location point, i.e., hash((p, v, d)) : (x, y), where hash() represents a hash function. The association can also be achieved through lookup tables or other methods.

[0055] The similarity between wireless network signal data can be represented using cosine similarity or Euclidean distance. The similarity between directions can be represented by the angular difference between the two directions, such as the cosine value of the angular difference.

[0056] When it is necessary to locate a device, the fingerprint data of the device to be located is acquired online. The similarity between each device fingerprint data in the device fingerprint database and the fingerprint data of the device to be located is calculated, including a first similarity and a second similarity. The first similarity is the similarity of wireless network signal data, and the second similarity is the similarity of direction. Based on the first similarity and the second similarity, multiple target location points are selected from multiple location points, i.e. multiple anchor points, recorded in the device fingerprint database.

[0057] The target location can be selected from multiple location points recorded in the device fingerprint database, choosing the K location points with the highest sum of the first and second similarities, or the sum obtained after weighting. K can be a fixed value or a configurable parameter, such as 5. The value of K can be configured based on the requirements of computational cost and positioning accuracy.

[0058] In other embodiments, the device fingerprint data also includes speed. The similarity between two device fingerprint data sets can be determined based on the similarity or deviation between the wireless network signal, direction, and speed in the two sets, and the K most similar location points recorded in the device fingerprint database are selected as the target location points. The similarity or deviation between speeds can be represented by absolute difference or normalized difference.

[0059] Step S202: Determine the first weight value based on the similarity between the device fingerprint data of multiple target location points and the fingerprint data of the device to be located.

[0060] After obtaining K target location points, for each target location point, a first weight value is determined based on the similarity between the calculated device fingerprint data of that target location point and the fingerprint data of the device to be located. The first weight value can be positively correlated with the similarity, that is, the more similar the device fingerprint data of the target location point is to the device fingerprint data collected online by the device to be located, the higher the first weight value of the target location point.

[0061] Step S203: Based on the first weight value, weight the multiple target location points to obtain the location of the device to be located.

[0062] Based on the first weight of each target location point, multiple target location points are weighted, and the resulting weighted location point is the location of the device to be located.

[0063] The position of the device to be located can be a two-dimensional coordinate system, where the x-axis and y-axis coordinates are the weighted average of the x-axis coordinates of each target location point and the weighted average of the y-axis coordinates of each target location point, respectively.

[0064] The coordinates (x, y) of the device to be located can be represented as:

[0065]

[0066] Among them, w i The weights used in the weighting operation for the i-th target position can be the first weight value, or weights calculated based on the first, second, or third weight values; (x i , y i ) represents the coordinates of the i-th target location.

[0067] The positioning method provided in this application, targeting a device to be located (i.e., a device to be located), determines multiple similar target locations by comparing the fingerprint data of the device to be located with the device fingerprint data of location points recorded in a device fingerprint database. This comparison includes the similarity of wireless network signal data and the similarity of direction. Specifically, it identifies multiple location points in the device fingerprint database that are similar to the device fingerprint data of the current location of the device to be located. A weight value, determined based on the similarity of wireless network signal data and direction (i.e., a first weight value), is used to weight the multiple target locations. The weighted location is the determined location of the device to be located. By adding direction to the fingerprint database, an improvement is achieved. This allows for the calculation of similar location weights by comprehensively considering the similarity of both wireless network signal and direction dimensions. Device positioning is then achieved through weighted similarity locations. By introducing the additional direction dimension, even when wireless network signal fluctuations are significant, a more accurate target location and weight can be determined based on the similarity of the direction dimension, thereby improving positioning accuracy.

[0068] If the device fingerprint data also includes speed, step S203 may specifically include the following steps:

[0069] Based on the speed and direction of the device to be located, a second weight value is determined for each target location point; based on the first and second weight values, multiple target location points are weighted to obtain the location of the device to be located.

[0070] Specifically, based on the speed and direction of the device to be located, another weight value, namely the second weight value, can be assigned to each of the multiple target locations. The correspondence between speed, direction, and second weight value can be established in advance. For example, speed and direction can be divided into multiple intervals, and the speed and direction of different intervals can correspond to different groups of K second weight values.

[0071] The aforementioned correspondence for determining the second weight value can be established by statistically analyzing a large number of location points with different speeds and directions and their corresponding K nearest neighbors.

[0072] In other embodiments, machine learning models, such as regression models, decision trees, random forests, etc., can be used to predict a set of second weight values ​​based on the speed and orientation of the device to be located.

[0073] Optionally, based on the speed and orientation of the device to be located, a second weight value is determined for each target location point, including:

[0074] The speed and direction of the device to be located are input into a pre-trained machine learning model to obtain the second weight value of each target location point.

[0075] After obtaining the first and second weight values ​​of each target location point, the sum, product, or other statistical values ​​of the first and second weight values ​​of each target location point can be regarded as the weight of each target location point in the weighting process. The position of the device to be located can be obtained by weighting each target location point.

[0076] Based on the traditional WKNN algorithm, the weights of the K target locations are further weighted by determining the second weight value. This fully considers the different correspondences between different devices to be located and similar locations in the surrounding area at different speeds and orientations, thus further improving the accuracy of positioning.

[0077] Figure 3 This is a flowchart illustrating another positioning method provided in an embodiment of this application. Figure 2 Based on the illustrated embodiment, step S203 is further refined, and steps related to constructing a device fingerprint database and determining the location of each wireless access point are added before step S201, such as... Figure 3 As shown, the positioning method provided in this embodiment specifically includes the following steps:

[0078] Step S301: Perform real-time localization and map construction on the target area to obtain the coordinates, direction, and velocity of multiple location points in the target area.

[0079] Simultaneous Localization and Mapping (SLAM) primarily relies on data collection vehicles, such as robots, equipped with LiDAR (single-line or multi-line LiDAR) to scan the environment. Combined with the vehicle's own sensors, such as cameras and inertial measurement units (IMUs), the vehicle achieves localization and map building. During SLAM mapping, real-time coordinates and orientation data of the vehicle can be obtained. The speed can be calculated by the time the vehicle takes to reach different coordinates.

[0080] Step S302: During the real-time positioning and map building process, wireless network signal data is collected, and the collected wireless network signal data is associated with location points to obtain a device fingerprint database.

[0081] By associating the coordinates, directions, and velocities obtained during SLAM mapping with the wireless network signal data collected at the corresponding locations, device fingerprint data from multiple locations can be obtained, thus enabling the construction of a device fingerprint database.

[0082] During SLAM mapping, the speed of the data acquisition vehicle can be limited during U-turns and turns to avoid excessive speed, thereby obtaining more accurate wireless network signal data, such as WIFI signal strength.

[0083] After obtaining device fingerprint data from multiple locations, preprocessing of the device fingerprint data can be performed, such as noise reduction and normalization.

[0084] Since the scanning motion of the data acquisition vehicle is continuous, the obtained wireless network signal data, such as RSSI, direction, and speed, should also be continuously changing. Therefore, noise reduction can be achieved using smoothing filters and outlier removal algorithms. Smoothing filters can include Kalman filters and moving average filters. Outlier removal algorithms can include IQR (Interquartile Range) and Z-score algorithms.

[0085] The normalization operation primarily aims to normalize or standardize RSSI, direction, and velocity to a standard interval, such as the 0-1 interval. Any normalization algorithm can be used, such as min-max normalization, Z-score normalization, or standard normal distribution normalization.

[0086] The preprocessed device fingerprint data is stored in the device fingerprint database and used as the raw data for the associated location points to determine the target location points and calculate the weight values.

[0087] Step S303: Using a clustering algorithm, based on the coordinates of the location points and wireless network signal data, multiple location points in the device fingerprint database are divided into multiple clusters.

[0088] Step S304: Determine the location of the wireless access point as the centroid of each cluster.

[0089] After constructing the device fingerprint database, it is also necessary to determine the location of the wireless access point, i.e., the WiFi signal source, among multiple location points in the device fingerprint database. Clustering algorithms, such as K-means and DBSCAN (Density-Based Spatial Clustering of Applications with Noise), can be used to cluster the coordinates of multiple location points in the device fingerprint database and the wireless network signal data to obtain multiple clusters. Based on the coordinates of the location points in the cluster, the centroid of each cluster is determined, and the centroid of each cluster is used to determine the location of the wireless access point within that cluster.

[0090] Wireless network signal data p can be concatenated with coordinates (x, y) to form (x, y, p), and clustering can be performed using (x, y, p) from multiple location points.

[0091] K-means clustering is a commonly used clustering algorithm. It requires a pre-defined number of clusters, aiming to make the (x, y, p) values ​​of points within the same cluster as similar as possible, while minimizing the differences in (x, y, p) values ​​between points in different clusters. Given initial cluster centers, the algorithm iteratively optimizes the cluster centers until the maximum number of iterations is reached or the cluster centers stabilize, meaning they no longer change after multiple iterations.

[0092] DBSCAN is a density-based clustering algorithm that does not require specifying the number of clusters and can discover clusters of arbitrary shapes. It requires setting a minimum number of points and a neighborhood radius, traversing all objects (i.e., traversing the (x, y, p) coordinates of each location), adding density-reachable locations of core objects to the same cluster, and identifying locations not belonging to any cluster as noise points, thus achieving clustering. Core objects are locations whose neighborhood number is greater than the minimum number of points. If a location is within the neighborhood of a core object, then that core object is density-reachable to that location.

[0093] After dividing multiple location points in the device fingerprint database into multiple clusters using any clustering algorithm, the centroid of each cluster is calculated based on the coordinates of the location points, and the coordinates corresponding to the centroid are determined as the location of the wireless access point within that cluster.

[0094] For example, Figure 4This is a schematic diagram showing the distribution of location points and wireless access points within the target area provided in the embodiments of this application, such as... Figure 4 As shown, during SLAM mapping, the data acquisition vehicle collected device fingerprint data from multiple location points. Figure 4 Hollow circles are used to represent location points. A clustering algorithm is used to determine the location of the wireless access point from multiple location points. Figure 4 In the diagram, solid dots are used to represent wireless access points (APs).

[0095] Step S305: Based on the fingerprint data of the device to be located and the similarity between it and the device fingerprint data of the location points recorded in the device fingerprint database, multiple target location points are determined.

[0096] In some embodiments, multiple wireless access points exist within the target area. When determining the target location point, the target wireless access point can be determined first, such as the wireless access point connected to the device to be located or the wireless access point closest to the device to be located. The target location point is then searched from the location points within a defined range of the target wireless access point. That is, based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of the location points recorded in the device fingerprint database, multiple target location points are determined from the location points within the defined range of the target wireless access point. The defined range can be determined based on the coverage area of ​​the target wireless access point.

[0097] Based on the WKNN algorithm, the K nearest neighbors of the device fingerprint data and the fingerprint data of the device to be located can be found in the location points recorded in the device fingerprint database. These K nearest neighbors are the target location points, and the device to be located can be located based on these K target location points.

[0098] Specifically, the WKNN algorithm uses a distance metric, such as Euclidean distance or absolute difference, to calculate the similarity between a location point and the fingerprint data of the device to be located. Based on the calculated similarity, the K location points with the highest similarity are selected as the nearest neighbors, i.e., the target location points.

[0099] For example, K can be 5, 7, 9, or other values. The larger the value of K, the greater the computational load and the higher the positioning accuracy. It can be configured based on the requirements for positioning accuracy and computational cost.

[0100] For the WKNN algorithm, after determining the K target locations, it is also necessary to configure weights for the K target locations or adjust the weights calculated based on similarity.

[0101] In this embodiment, the weight of the target location point is determined by a first weight value calculated based on similarity and a third weight value calculated based on speed, direction and distance, as detailed in steps S306 to S309.

[0102] Step S306: Based on the similarity between the device fingerprint data of multiple target location points and the fingerprint data of the device to be located, determine the first weight value.

[0103] Step S307: Based on the first weight value, multiple target location points are weighted to obtain alternative locations for the device to be located.

[0104] Step S308: Determine the distance between the device to be located and the target wireless access point based on the alternative locations.

[0105] The target wireless access point is either the wireless access point connected to the device to be located, or the wireless access point with the strongest signal among the wireless access points scanned by the device to be located.

[0106] Step S309: Based on the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, determine the third weight value of each target location point.

[0107] After obtaining the first weight value of each target location point, the target locations can be weighted once based on the first weight value to obtain a weighted location point, which can be used as a candidate location for the device to be located. Since the weighting of this candidate location only considers the similarity between device fingerprint data, the accuracy is poor and needs to be corrected by a second weighting.

[0108] In other embodiments, candidate locations can be determined by inputting the speed and direction of the device to be located into a pre-trained machine learning model, which outputs a second weight value for each target location point, and weighting each target location based on the second weight value to obtain candidate locations for the device to be located.

[0109] Specifically, after determining the location of each wireless access point through the aforementioned steps S303 and S304, the candidate location is used as the location of the device to be located, and the distance between the candidate location and the target wireless access point is calculated to obtain the distance between the device to be located and the target wireless access point; then, based on the speed and direction of the device to be located and the distance to the target wireless access point, the third weight value of each target location point is determined; using the first weight value and the third weight value of each target location point, the target location points are weighted, and the weighted location point is used as the location of the device to be located.

[0110] The correspondence between distance (i.e., the distance between the device to be located and the target wireless access point), speed, and direction and a third weight value can be established in advance. For example, distance, speed, and direction can be divided into multiple intervals, and the distance, speed, and direction of different intervals can correspond to different groups of K third weight values.

[0111] The aforementioned correspondence for determining the third weight value can be established by statistically analyzing a large number of location points at different distances, speeds, and directions, and their relationships with their corresponding K nearest neighbors.

[0112] In other embodiments, machine learning models, such as regression models, decision trees, random forests, etc., can be used to predict a set of second weight values ​​based on the speed and direction of the device to be located, as well as the distance between the device to be located and the target wireless access point.

[0113] Step S310: Based on the first weight value and the third weight value, the multiple target location points are weighted to obtain the location of the device to be located.

[0114] After obtaining the first and third weight values ​​of each target location point, the sum, product, or other statistical values ​​of the first and third weight values ​​of each target location point can be regarded as the weights used when weighting each target location point. The position of the device to be located can be obtained by weighting each target location point.

[0115] In this embodiment, SLAM is used to collect the device fingerprint database. During the collection process, the collection vehicle is allowed to move at a certain speed, which improves the efficiency of database construction. Through clustering algorithms, the location of wireless access points is identified with high accuracy, and a basis is provided for subsequent distance calculation. It supports K-nearest neighbor lookups only within the coverage area of ​​the wireless access point, which improves the lookup efficiency. Based on the traditional WKKN algorithm, the weights of the K nearest neighbors are adjusted by using speed, direction, and distance to the access point, which fully considers the impact of speed, direction, and distance on wireless signal strength, thus improving the accuracy of positioning.

[0116] Optionally, the method further includes: acquiring fingerprint data of the device to be located; determining a target wireless access point based on the wireless network signal data in the fingerprint data of the device to be located; and determining multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of location points recorded in the device fingerprint database, including: determining multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of location points recorded in the device fingerprint database of the target wireless access point.

[0117] The target wireless access point can be the wireless access point connected to by the device to be located, or the wireless access point with the strongest signal among the wireless access points scanned by the device to be located.

[0118] The location points and their device fingerprint data in the device fingerprint database can be grouped according to the wireless access point to obtain a set of device fingerprint data for each location point within the coverage area of ​​each wireless access point, thus obtaining the device fingerprint database for each wireless access point. Alternatively, the device fingerprint database for each wireless access point in the target area can be pre-stored. When determining the target location point, the matching range can be adjusted from the complete device fingerprint database to the device fingerprint database of the target wireless access point, i.e., a part of the complete device fingerprint database, thereby improving the speed of target location point determination.

[0119] Optionally, based on the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, a third weight value for each target location point is determined, including:

[0120] The distance between the device to be located and the target wireless access point, the speed and direction of the device to be located are input into a pre-trained machine learning model to obtain the third weight value of each target location point.

[0121] For example, the robot learning model can be a regression model, decision tree, random forest, neural network model, etc.

[0122] The robot learning model can be trained using a large amount of collected data. In the application phase, the speed and direction of the device to be located, collected online, as well as the distance between the device to be located and the target wireless access point determined based on alternative locations, are input into the robot learning model. The robot learning model then predicts the third weight value for each target location point.

[0123] During machine learning model training and testing, training and testing sets can be obtained based on device fingerprint data from location points collected in a device fingerprint database. The training set is used to train the model and continuously optimize its parameters, while the testing set is used to verify whether the model's performance meets the requirements.

[0124] Specifically, data collected near the locations of U-turns and turns in the device fingerprint database, including device fingerprint data and coordinates, can be used as the raw data for the test set, resulting in sample data. The remaining data serves as the raw data for the training set. The sample data includes speed, direction, and distance to the target wireless access point. The distance to the target wireless access point can be calculated based on the coordinates in the raw data and the corresponding coordinates of the target wireless access point.

[0125] The machine learning model is trained using sample data from the training set, enabling it to predict appropriate third weight values ​​based on the input velocity, direction, and distance to the target wireless access point. After training, the trained machine learning model is tested using sample data from the test set to improve its generalization ability and ensure it demonstrates good predictive capabilities even on unseen data.

[0126] In other embodiments, faster sample data can be used as the test set, such as sample data with a speed greater than a preset threshold, while the remaining sample data can be used as the training set.

[0127] Optionally, the sample data in the training and testing sets of the machine learning model includes the data collected by the acquisition device within a preset range of U-turn and turning actions, and the sample data includes the device fingerprint data of the sample location points; wherein, the speed of the sample data in the testing set is greater than a preset threshold.

[0128] The data acquisition device can be any device used for data acquisition during SLAM, such as a data acquisition vehicle or robot. It can also be a device specifically designed for collecting sample data. The acquisition device moves within the target area or the sample area, collecting data from multiple sample location points, including coordinates, velocity, and direction. Based on the positions of various wireless access points within the sample area and the coordinates of the sample location points, the distance between each sample location point and the target wireless access point is determined. The target wireless access point is the wireless access point with the strongest signal at the sample location point. Velocity, direction, and distance constitute the sample data for each sample location point. The coordinates of the sample location points can be used to calculate the deviation from the position calculated based on the third weight value predicted by the model, thereby adjusting the parameters of the machine learning model based on the deviation.

[0129] A portion of the sample data collected from multiple sample locations can be used as the training set, and the remainder as the test set.

[0130] In this implementation, the test set is selected from the sample data of turning and U-turn actions and the faster speeds in their vicinity. The training set may include all the collected sample data, such as the sample data of all location points in the device fingerprint database, or the sample data remaining after removing the test set.

[0131] The preset range can be a range within a certain threshold distance from the start and end positions of the U-turn and turning actions. The preset range can also be data collected within a certain period of time before and after the U-turn and turning actions, such as 3 seconds or 5 seconds before and after the U-turn and turning actions.

[0132] The preset threshold can be a fixed value or a configurable parameter, such as 5m / s, 3m / s, etc.

[0133] The trained machine learning model that passes the test set is identified as a pre-trained machine learning model.

[0134] By using sample data from areas with high speeds, turns, or U-turns as the test set and the rest as the training set, overfitting of the model is avoided. At the same time, testing the trained machine learning model with unseen sample data improves the model's generalization ability.

[0135] Figure 5 A flowchart illustrating another positioning method provided in this application embodiment is shown below. Figure 5 As shown, this positioning method mainly includes two stages: an offline stage and an online stage.

[0136] The offline phase mainly includes the following steps:

[0137] Step S501: Obtain the coordinates, velocity, and direction obtained during the SLAM mapping process, and associate them with the WiFi signal strength to build a device fingerprint database.

[0138] The speed, direction, and WiFi signal strength obtained at the same location point (i.e., under the same coordinates) constitute the device fingerprint data for that location point. The device fingerprint data of each location point in the target area collected during the SLAM mapping process form the device fingerprint database.

[0139] Step S502, Data preprocessing: Noise reduction and normalization processing is performed on the device fingerprint data.

[0140] Step S503, extract the location of the WiFi signal source: use a clustering algorithm to cluster the coordinates and WiFi signal strength to obtain multiple clusters, and calculate the centroid of each cluster.

[0141] The centroid of a cluster is denoted as the location of the WiFi signal source within that cluster. The WiFi signal source is denoted as the aforementioned wireless access point.

[0142] Step S504, Model Training: Based on the collected training set and test set, train and test the robot learning model, and output the robot learning model that passes the test.

[0143] During the online phase, to locate the device to be positioned within the target area, the following steps can be taken:

[0144] Step S505: Use the WKNN algorithm to determine candidate locations: Use the WKNN algorithm to determine the K target location points that are most similar to the fingerprint data of the device to be located, and weight these K target location points based on the first weight value determined by similarity to obtain candidate locations.

[0145] Step S506: Calculate the distance between the candidate location and the target wireless access point to obtain the distance between the device to be located and the target wireless access point.

[0146] Step S507, determine dynamic weights based on the model: input the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located into the pre-trained machine learning model to obtain the third weights of K target location points.

[0147] Step S508: Based on the first weight value and the third weight value, the K target location points are weighted to obtain the location of the device to be located.

[0148] Figure 6 This is a schematic diagram of the structure of a positioning device provided in an embodiment of this application, as shown below. Figure 6 As shown, the positioning device provided in this embodiment includes: a target position determination module 610, a first weight determination module 620, and a position weighting module 630.

[0149] The target location determination module 610 is used to determine multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of location points recorded in the device fingerprint database; the device fingerprint data includes wireless network signal data and direction; the first weight determination module 620 is used to determine a first weight value based on the similarity between the device fingerprint data of the multiple target location points and the fingerprint data of the device to be located; the location weighting module 630 is used to weight the multiple target location points based on the first weight value to obtain the location of the device to be located.

[0150] In one possible implementation, the device fingerprint data further includes a speed and position weighting module 630, specifically used for: determining a second weight value for each target location point based on the speed and direction of the device to be located; and weighting multiple target location points based on the first weight value and the second weight value to obtain the location of the device to be located.

[0151] In one possible implementation, the device fingerprint data further includes a speed and location weighting module 630, comprising: a candidate location determination unit, configured to weight multiple target location points based on a first weight value to obtain candidate locations of the device to be located; a distance calculation unit, configured to determine the distance between the device to be located and a target wireless access point based on the candidate locations; the target wireless access point is a wireless access point connected to the device to be located, or the wireless access point with the strongest signal among the wireless access points scanned by the device to be located; a third weight determination unit, configured to determine a third weight value for each target location point based on the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located; and a location weighting unit, configured to weight multiple target location points based on the first weight value and the third weight value to obtain the location of the device to be located.

[0152] In one possible implementation, the positioning device further includes a device fingerprint database construction module, used for: performing real-time positioning and map construction on the target area to obtain the coordinates, direction, and speed of multiple location points in the target area; collecting wireless network signal data during the real-time positioning and map construction process, and associating the collected wireless network signal data with the location points to obtain a device fingerprint database.

[0153] In one possible implementation, the positioning device further includes a clustering module for:

[0154] Using a clustering algorithm, multiple location points are divided into multiple clusters based on their coordinates and wireless network signal data; the centroid of each cluster is determined as the location of the wireless access point.

[0155] In one possible implementation, the third weight determination unit is specifically used to: input the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, into a pre-trained machine learning model to obtain the third weight value of each target location point.

[0156] In one possible implementation, the sample data in the training and testing sets of the machine learning model includes data collected by the acquisition device within a preset range of U-turn and steering actions, and the sample data includes device fingerprint data of sample location points; wherein the speed of the sample data in the testing set is greater than a preset threshold.

[0157] In one possible implementation, the positioning device further includes a target access point determination module, configured to: acquire fingerprint data of the device to be located; and determine the target wireless access point based on the wireless network signal data in the fingerprint data of the device to be located.

[0158] Correspondingly, the target location determination module 610 is specifically used to: determine multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of the location points recorded in the device fingerprint database of the target wireless access point.

[0159] This embodiment provides a positioning device that can execute the positioning method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.

[0160] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 7 As shown, the electronic device 70 provided in this embodiment includes at least one processor 701 and a memory 702. Optionally, the device 70 further includes a communication component 703. The processor 701, memory 702, and communication component 703 are connected via a bus 704.

[0161] In a specific implementation, at least one processor 701 executes computer execution instructions stored in memory 702, causing at least one processor 701 to perform the above-described method.

[0162] The specific implementation process of processor 701 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0163] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.

[0164] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0165] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0166] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.

[0167] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.

[0168] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.

[0169] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.

[0170] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.

[0171] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0172] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0173] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0174] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0175] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.

Claims

1. A positioning method, characterized in that, include: Based on the fingerprint data of the device to be located, and the similarity between the fingerprint data of the location points recorded in the device fingerprint database, multiple target location points are determined. The device fingerprint data includes wireless network signal data and direction; Based on the similarity between the device fingerprint data of the multiple target location points and the fingerprint data of the device to be located, a first weight value is determined. Based on the first weight value, the multiple target location points are weighted to obtain the location of the device to be located.

2. The method according to claim 1, characterized in that, The device fingerprint data also includes speed. Based on the first weight value, the multiple target location points are weighted to obtain the location of the device to be located, including: Based on the speed and direction of the device to be located, a second weight value is determined for each of the target location points; Based on the first weight value and the second weight value, the multiple target location points are weighted to obtain the location of the device to be located.

3. The method according to claim 1, characterized in that, The device fingerprint data also includes speed. Based on the first weight value, the multiple target location points are weighted to obtain the location of the device to be located, including: Based on the first weight value, the multiple target location points are weighted to obtain the candidate locations of the device to be located; The distance between the device to be located and the target wireless access point is determined based on the candidate locations; the target wireless access point is the wireless access point connected to the device to be located, or the wireless access point with the strongest signal among the wireless access points scanned by the device to be located. Based on the distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, a third weight value is determined for each of the target location points; Based on the first weight value and the third weight value, the multiple target location points are weighted to obtain the location of the device to be located.

4. The method according to claim 3, characterized in that, The method further includes: Real-time localization and map construction of the target area are performed to obtain the coordinates, direction, and velocity of multiple location points in the target area; Wireless network signal data is collected during real-time positioning and map building, and the collected wireless network signal data is associated with the location points to obtain the device fingerprint database.

5. The method according to claim 4, characterized in that, The method further includes: Using a clustering algorithm, the multiple location points are divided into multiple clusters based on the coordinates of the location points and wireless network signal data; The centroid of each cluster is determined as the location of the wireless access point.

6. The method according to claim 3, characterized in that, Based on the distance between the device to be located and the target wireless access point, and the speed and direction of the device to be located, a third weight value is determined for each of the target location points, including: The distance between the device to be located and the target wireless access point, the speed and direction of the device to be located, are input into a pre-trained machine learning model to obtain the third weight value of each target location point.

7. The method according to claim 6, characterized in that, The sample data in the training and testing sets of the machine learning model includes data collected by the acquisition device within a preset range of U-turn and steering actions, and the sample data includes device fingerprint data of sample location points. The speed of the sample data in the test set is greater than a preset threshold.

8. The method according to any one of claims 1-7, characterized in that, The method further includes: Obtain the fingerprint data of the device to be located; The target wireless access point is determined based on the wireless network signal data in the fingerprint data of the device to be located; The method of determining multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of location points recorded in the device fingerprint database includes: The method determines multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of the location points recorded in the device fingerprint database of the target wireless access point.

9. A positioning device, characterized in that, include: The target location determination module is used to determine multiple target location points based on the similarity between the fingerprint data of the device to be located and the device fingerprint data of the location points recorded in the device fingerprint database. The device fingerprint data includes wireless network signal data and direction; The first weight determination module is used to determine a first weight value based on the similarity between the device fingerprint data of the multiple target location points and the fingerprint data of the device to be located. The location weighting module is used to weight the plurality of target location points based on the first weight value to obtain the location of the device to be located.

10. An electronic device, characterized in that, include: Memory, processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-8.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-8.

12. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-8.