Positioning methods, apparatuses, devices, media, and products

CN123028569APending Publication Date: 2026-11-03CHANGSHA INTELLIGENT DRIVING INST CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510544559.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-27
Publication Date
2026-11-03

AI Technical Summary

Technical Problem

In environments where laser features are significantly degraded, existing methods for locating target objects using 3D laser scanning point cloud data are inefficient and inaccurate, especially in scenarios such as long tunnels. The geometric limitations of traditional reflectors reduce the robustness of point cloud data matching, making it prone to positioning drift or failure.

Method used

By acquiring scene point cloud data, extracting the first marker point cloud data of the landmarks, determining the relocation conditions, selecting a global positioning or tracking positioning algorithm, and performing point cloud data matching based on the landmark map, the limitation on the geometric shape of the landmarks is removed, thereby achieving efficient and accurate positioning of the target object.

Benefits of technology

It improves positioning efficiency and accuracy in environments with degraded laser features, simplifies the marker setting process, reduces waste of computing resources and the risk of mismatch, and ensures high-precision positioning in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123028569A_ABST
    Figure CN123028569A_ABST
Patent Text Reader

Abstract

The application discloses a positioning method, device, equipment, medium and product, and relates to the technical field of automatic driving. The method comprises the following steps: acquiring scene point cloud data of a target object in a target scene at a target moment, wherein the scene comprises a marker; extracting first marker point cloud data of the marker from the scene point cloud data; judging whether the target object satisfies a repositioning condition, obtaining a target positioning algorithm of the target object, and the target positioning algorithm being one of a global positioning algorithm and a tracking positioning algorithm; matching the first marker point cloud data with preset marker point cloud data in a marker map based on the target positioning algorithm, obtaining second marker point cloud data in the marker map which is matched with the first marker point cloud data; and positioning the target object based on the first marker point cloud data and the second marker point cloud data. According to the application, the efficiency and accuracy of positioning can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of autonomous driving technology, and in particular relates to a positioning method, device, equipment, medium and product. Background Technology

[0002] In environments where laser characteristics are significantly degraded (such as long tunnels, narrow corridors, and vast deserts, where the physical geometry is relatively simple or lacks significant natural features), relying solely on point cloud data obtained from 3D laser scanning to locate target objects becomes extremely difficult. Therefore, how to efficiently and accurately locate target objects in such challenging environments has become an urgent problem to solve.

[0003] Currently, one strategy is to use reflectors or reflective pillars as artificially placed reference markers to assist in locating target objects in environments lacking laser signatures.

[0004] However, this method requires the reflector to be designed into a specific geometric shape such as a V-shape in advance, which increases the complexity of the setup and results in low positioning efficiency and poor accuracy. Summary of the Invention

[0005] This application provides a positioning method, apparatus, device, medium, and product that can improve the efficiency and accuracy of positioning.

[0006] A first aspect of this application provides a positioning method, the method comprising:

[0007] Obtain scene point cloud data of the scene where the target object is located at the target time, including landmarks in the scene;

[0008] Extract the first marker point cloud data from the scene point cloud data;

[0009] Determine whether the target object meets the relocation condition, and obtain the target object localization algorithm. The target localization algorithm is one of the global localization algorithm and the tracking localization algorithm.

[0010] Based on the target localization algorithm, the first landmark point cloud data is matched with the preset landmark point cloud data in the landmark map to obtain the second landmark point cloud data in the landmark map that matches the first landmark point cloud data;

[0011] The target object is located based on the point cloud data of the first and second landmarks.

[0012] A second aspect of this application provides a positioning device, the device comprising:

[0013] The data acquisition module is used to acquire scene point cloud data of the scene where the target object is located at the target time, and the scene includes landmarks;

[0014] The point cloud extraction module is used to extract the first marker point cloud data of the marker from the scene point cloud data;

[0015] The algorithm determination module is used to determine whether the target object meets the relocation conditions and obtain the target positioning algorithm of the target object. The target positioning algorithm is one of the global positioning algorithm and the tracking positioning algorithm. The point cloud matching module is used to match the first marker point cloud data with the preset marker point cloud data in the marker map based on the target positioning algorithm to obtain the second marker point cloud data in the marker map that matches the first marker point cloud data.

[0016] The object localization module is used to locate the target object based on the first marker point cloud data and the second marker point cloud data.

[0017] A third aspect of the embodiments of this application provides an electronic device, the device comprising: a memory and a program or instructions stored in the memory and executable on a processor, wherein when the program or instructions are executed by the processor, they implement the positioning method provided in any of the embodiments of this application described above.

[0018] A fourth aspect of the embodiments of this application provides a readable storage medium on which a program or instructions are stored, and when the program or instructions are executed by a processor, they implement the positioning method provided by any aspect of the embodiments of this application described above.

[0019] A fifth aspect of the embodiments of this application provides 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 provided in any aspect of the embodiments of this application described above.

[0020] In the positioning method provided in this application, a target positioning algorithm corresponding to the target object is first selected based on whether the target object meets the repositioning conditions. By using a target positioning algorithm that matches the actual situation of the target object, positioning accuracy can be improved. Simultaneously, there is no need to limit the specific geometric shape of the markers; simply matching the first marker point cloud data with preset marker point cloud data in the marker map determines the second marker point cloud data that matches the first marker point cloud data. Therefore, the target object is positioned based on the first and second marker point cloud data. Thus, this application improves positioning efficiency and accuracy by selecting a target positioning algorithm for the target object and pre-creating a marker map. Attached Figure Description

[0021] 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.

[0022] Figure 1 This is a flowchart illustrating a positioning method provided in one embodiment of this application;

[0023] Figure 2 This is a schematic diagram of the second figure structure provided in one embodiment of this application;

[0024] Figure 3 This is a schematic diagram of the first figure structure provided in one embodiment of this application;

[0025] Figure 4 This is a schematic diagram of the structure of a positioning device provided in one embodiment of this application;

[0026] Figure 5 This is a schematic diagram of the structure of a positioning device provided in one embodiment of this application. Detailed Implementation

[0027] 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.

[0028] 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.

[0029] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application all comply with the relevant provisions of national laws and regulations.

[0030] It should be noted that in the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, they do not mean that the applicant has used or necessarily used the solution.

[0031] Traditional positioning methods that rely on manually placed reflective markers with specific geometric shapes as the basis for point cloud matching suffer from low efficiency and poor accuracy due to the specific geometry of the markers. Specifically, the rigid geometric constraints of the pre-set reflective markers limit the spatial diversity of point cloud data, significantly reducing the robustness of point cloud feature matching under conditions of limited LiDAR scanning field of view or dynamic environmental interference. This problem directly leads to point cloud registration algorithms easily getting trapped in local optima in scenarios with uniform laser reflectivity distribution or repetitive environmental geometric features, causing positioning drift or failure.

[0032] For example, in underground tunnels exceeding 500 meters in length, the reflectivity distribution of point cloud data obtained from lidar scanning exhibits high consistency, and the tunnel wall geometry is continuously repeating. Traditional methods require the deployment of V-shaped reflectors at equal intervals along the tunnel axis to enhance feature differentiation. However, in practical applications, the intensity difference of point cloud clusters between adjacent reflectors is weakened due to environmental dust coverage or changes in lighting conditions. This causes geometry-based localization algorithms to fail to effectively distinguish adjacent landmarks, resulting in localization drift or failure.

[0033] The purpose of this application is to provide a positioning method, apparatus, device, medium, and product. In the positioning method provided by the embodiments of this application, there is no need to limit the specific geometric shape of the marker. Simply matching the first marker point cloud data with preset marker point cloud data in a marker map determines the second marker point cloud data that matches the first marker point cloud data. Based on the first and second marker point cloud data, the target object is located. Thus, by pre-creating a marker map, this invention eliminates the limitation on the geometric shape of the marker, simplifies the marker setting process, and improves the efficiency and accuracy of positioning.

[0034] The following describes specific embodiments of the positioning method, apparatus, device, medium, and product provided in this application. The positioning method will be described first.

[0035] Figure 1 A flowchart of a positioning method is provided. This positioning method can be applied to the server and may include the following steps S101 to S105.

[0036] S101, Obtain scene point cloud data of the scene where the target object is located at the target time, including landmarks in the scene.

[0037] In this embodiment, scene point cloud data refers to a set of points containing three-dimensional coordinate information obtained by scanning the environment of the target object with a lidar. Specifically, it can be achieved by using a lidar sensor to collect laser point data reflected from the surface of objects in the scene in real time, which is used to construct a spatial model of the environment.

[0038] Specifically, the server first obtains the scene point cloud data of the scene where the target object is located at the target time. The scene includes multiple landmarks, which can be artificially placed reference objects such as reflectors or reflector posts.

[0039] S102, extract the first marker point cloud data from the scene point cloud data.

[0040] In this embodiment, the first marker point cloud data refers to the subset of point clouds belonging to the marker extracted from the scene point cloud data. Specifically, clustering algorithms or reflectivity threshold filtering methods can be used to separate the point cloud data corresponding to the marker for subsequent matching and positioning.

[0041] Specifically, the server then extracts the first marker point cloud data of the landmarks from the scene point cloud data. This step involves analyzing features such as reflectivity and density of the point cloud data to identify and extract the first marker point cloud data of the landmarks.

[0042] S103, determine whether the target object meets the relocation condition, and obtain the target object's target localization algorithm. The target localization algorithm is one of the global localization algorithm and the tracking localization algorithm.

[0043] In this embodiment, the relocation conditions are a set of conditions used to determine whether the current state of the target object needs to be relocated. These conditions may include the target object's position uncertainty exceeding a certain threshold, the target object's movement distance exceeding a preset range, etc.

[0044] Target localization algorithms are selected based on whether the target object meets the relocation conditions. These include global localization algorithms and tracking localization algorithms. Global localization algorithms are used to determine the target object's position within the entire scene when its position is completely unknown or highly uncertain. Tracking localization algorithms, on the other hand, are used to predict the current position based on the target object's position and motion information from the previous moment when its position is known and its motion state is relatively stable.

[0045] As an example, the server sets a series of criteria for determining relocation conditions, such as a location uncertainty threshold and a movement distance threshold. Then, it compares the current criteria of the target object with the preset relocation conditions. If the relocation conditions are met, a global positioning algorithm is selected as the target positioning algorithm; otherwise, a tracking positioning algorithm is selected as the target positioning algorithm.

[0046] S104, Based on the target localization algorithm, the first marker point cloud data is matched with the preset marker point cloud data in the marker map to obtain the second marker point cloud data in the marker map that matches the first marker point cloud data.

[0047] In this embodiment, the landmark map refers to a pre-established high-precision map containing the point cloud locations and reflectivity information of all landmarks in the environment. Specifically, it can be generated by combining lidar mapping technology with landmark location annotation to provide a reference benchmark for real-time positioning.

[0048] For example, the landmark map can be in matrix form. It can be generated by manual measurement or using the Simultaneous Localization and Mapping (SLAM) algorithm.

[0049] For example, if the marker map is saved as: 1.2 3.0 0.5 245, 1.8 2.0 0.4 235..., then the point cloud cluster position corresponding to the 0th marker is (1.2 3.0 0.5), and the point cloud cluster intensity is 245. The serial numbers in this patent start from 0, which conforms to computer language conventions. Similarly, the point cloud cluster position corresponding to the 1st marker is (1.8 2.0 0.4), and the point cloud cluster intensity is 235.

[0050] Specifically, the server then employs a target localization algorithm to match the first landmark point cloud data with preset landmark point cloud data in a landmark map. The landmark map is pre-built and contains point cloud data information of known landmarks. The matching process determines the correspondence by comparing features such as the spatial distribution and reflectivity of the point cloud data. The matching result yields the second landmark point cloud data in the landmark map that matches the first landmark point cloud data.

[0051] S105, Based on the point cloud data of the first and second landmarks, the target object is located.

[0052] In this embodiment, localization refers to calculating the pose of the target object in the environment. Specifically, singular value decomposition or iterative nearest point algorithm can be used to solve the rotation matrix and translation vector. The pose result is output after aligning the real-time point cloud data with the map data.

[0053] Specifically, the server ultimately locates the target object based on the first and second landmark point cloud data. The localization process uses the matching results to calculate the target object's position and orientation relative to known landmarks. By comparing the actually observed first landmark point cloud data with the pre-set second landmark point cloud data on the map, the precise location of the target object can be deduced.

[0054] As a preferred example, this application is implemented as follows: First, the server uses a LiDAR scanner to acquire scene point cloud data of the tunnel scene where the target object (such as an autonomous navigation vehicle) is located at the target time. Multiple reflectors are pre-installed inside the tunnel as markers.

[0055] Next, the first marker point cloud data of the markers is extracted from the acquired scene point cloud data. Specifically, a reflectivity threshold is set to filter out point cloud clusters with high reflectivity, and these point cloud clusters correspond to the positions of the reflectors.

[0056] Then, the extracted point cloud data of the first marker is matched with a pre-established marker map. The marker map stores the precise locations and point cloud features of all reflectors within the tunnel. The matching process employs a graph-based matching algorithm, treating the marker point cloud clusters as nodes in the graph and the spatial relationships between the clusters as edges. Matching relationships are determined by comparing the topological structure of the graph.

[0057] Finally, the target object is located based on the matching results. By calculating the transformation relationship between the observed first landmark point cloud data and the preset second landmark point cloud data in the map, the position and orientation of the target object relative to the tunnel coordinate system are deduced.

[0058] In the positioning method provided in this embodiment, a target positioning algorithm corresponding to the target object is first selected based on whether the target object meets the repositioning conditions. By using a target positioning algorithm that matches the actual situation of the target object, positioning accuracy can be improved. Simultaneously, there is no need to limit the specific geometric shape of the markers; simply matching the first marker point cloud data with preset marker point cloud data in the marker map determines the second marker point cloud data that matches the first marker point cloud data. Therefore, the target object is positioned based on the first and second marker point cloud data. Thus, this application improves positioning efficiency and accuracy by selecting a target positioning algorithm for the target object and pre-creating a marker map.

[0059] As an optional embodiment, S102 may specifically include:

[0060] Filter out target point cloud data that meets preset point cloud conditions from scene point cloud data;

[0061] If the amount of target point cloud data exceeds a preset threshold, cluster the target point cloud data to obtain at least one point cloud cluster.

[0062] For each point cloud cluster, the first marker point cloud data of the marker is determined based on the target point cloud data in the point cloud cluster.

[0063] In this embodiment, the screening process can use both distance and reflectivity as conditions. For example, the spatial distance threshold in the radar coordinate system can be used to filter out invalid point clouds at a distance, and then the point cloud reflectivity threshold can be used to select target points with high reflectivity.

[0064] The clustering process can employ density-based spatial clustering algorithms to divide adjacent point clouds with similar reflectance into independent clusters.

[0065] Specifically, the method first filters valid candidate data from the original scene point cloud based on distance and reflectivity conditions. For example, only point clouds within 5 meters of the radar sensor and with a reflectivity exceeding 0.8 are retained. When the filtered data exceeds 2000 points, the DBSCAN algorithm is used for clustering, dividing the point cloud into independent clusters. This method reduces the data size through dual filtering and uses clustering to distinguish independent point cloud clusters of different markers. The resulting marker point cloud data possesses both spatial distribution characteristics and reflectivity information, providing highly discriminative input data for subsequent matching while avoiding the waste of computational resources and the risk of mismatches caused by directly processing the original point cloud.

[0066] As a preferred example, the server filters target point cloud data from the scene point cloud data to select those that meet preset point cloud conditions. Specifically, the preset point cloud conditions can be set as point cloud reflectivity greater than 50% and distance from the radar less than 100 meters. This filtering effectively removes noise points and irrelevant point clouds, retaining point cloud data of landmarks with high reflectivity characteristics.

[0067] Furthermore, when the amount of target point cloud data exceeds a preset threshold, the server clusters the target point cloud data to obtain at least one point cloud cluster, with each cluster corresponding to the first marker point cloud data of a marker. For example, the preset threshold can be set to 1000 points. When the selected target point cloud data exceeds 1000 points, the DBSCAN density clustering algorithm is used to cluster the target point cloud data. The parameters of the DBSCAN algorithm can be set as follows: neighborhood radius ε = 0.5 meters, minimum number of points MinPts = 10.

[0068] This embodiment effectively extracts feature point cloud data of landmarks from complex scene point cloud data. By employing point cloud condition filtering and clustering processing, the amount of data required for subsequent processing is significantly reduced, improving computational efficiency.

[0069] As an optional embodiment, selecting target point cloud data that meets preset point cloud conditions from scene point cloud data may specifically include:

[0070] From the scene point cloud data, candidate point cloud data that are less than a preset distance threshold from the radar are selected;

[0071] From the candidate point cloud data, select the target point cloud data whose point cloud reflectance is greater than the preset reflectance threshold.

[0072] In this embodiment, the preset distance threshold is set according to the effective detection range of the radar, and the selection of candidate point cloud data is achieved by calculating the Euclidean distance between the three-dimensional coordinates of the point cloud data and the radar origin. The preset reflectivity threshold is pre-calibrated based on the physical properties of the reflective material on the marker surface, and the selection of target point cloud data is achieved by comparing the reflection intensity value of each point in the point cloud data. The two-step selection forms a progressive filtering mechanism: distance selection prioritizes the elimination of noise points that are outside the effective measurement range of the radar, and reflectivity selection further eliminates non-marker interference data.

[0073] Specifically, in the radar coordinate system, the distance from each point cloud data point in the scene to the radar is calculated through 3D coordinate transformation. Point cloud data points with distance values ​​less than a preset distance threshold are included in the candidate set. The point cloud data in the candidate set are further compared by reflectivity, retaining those with reflectivity exceeding the threshold. For example, in a tunnel scene, a preset distance threshold of 50 meters and a reflectivity threshold of 80% can effectively filter out reflective pillar data with high reflectivity at close range. This method improves the effectiveness and reliability of the target point cloud data through dual verification of spatial constraints and physical features, providing high-quality input for subsequent clustering and matching.

[0074] As a preferred example, the server filters candidate point cloud data from the scene point cloud data that are less than a preset distance threshold from the radar. For example, the preset distance threshold can be set to 50 meters to filter candidate point cloud data that are less than 50 meters from the radar.

[0075] Then, from the candidate point cloud data, target point cloud data with a point cloud reflectance greater than a preset reflectance threshold are selected. For example, the preset reflectance threshold can be set to 0.8 to select target point cloud data with a point cloud reflectance greater than 0.8.

[0076] Specifically, the distance to each point cloud in the scene point cloud data can be calculated first, and point cloud data with a distance of less than 50 meters can be retained as candidate point cloud data. Then, reflectivity detection can be performed on each point cloud data in the candidate point cloud data, and point cloud data with a reflectivity greater than 0.8 can be retained as target point cloud data.

[0077] This embodiment effectively filters out target point cloud data with moderate distance and high reflectivity, improving the extraction accuracy of marker point cloud data. This allows for more accurate identification of markers in the scene, providing a reliable data foundation for subsequent localization.

[0078] As an optional embodiment, the first marker point cloud data includes the location of point cloud clusters and the intensity of point cloud clusters;

[0079] For each point cloud cluster, the first marker point cloud data of the marker is determined based on the target point cloud data in the point cloud cluster. Specifically, this may include:

[0080] The centroid of the point cloud cluster is used as the location of the point cloud cluster for the marker.

[0081] The average point cloud reflectance of the target point cloud data in the point cloud cluster is determined as the point cloud cluster intensity of the marker.

[0082] In this embodiment, the centroid position is obtained by calculating the mean three-dimensional coordinates of all points in the point cloud cluster. The average reflectance of the point cloud is obtained by taking the arithmetic mean of the reflectance values ​​of all points within the point cloud cluster. The determination of the position and intensity of the point cloud clusters needs to be performed after the point cloud clustering is completed, and the position and intensity parameters of each point cloud cluster are calculated independently.

[0083] Specifically, after clustering point cloud data into multiple point cloud clusters, for each independent point cloud cluster, the three-dimensional coordinates of all target point cloud data within the cluster are traversed, and the arithmetic mean of each coordinate axis is calculated to generate the centroid coordinates representing the spatial distribution of the cluster. Simultaneously, the reflectivity parameters of all target point cloud data within the cluster are summed and then divided by the number of point clouds to obtain the average reflectivity. Calculating the centroid position eliminates errors caused by deviations in the position of individual point clouds, accurately reflecting the spatial distribution center of the marker. Calculating the average reflectivity effectively smooths the influence of noise points and stably characterizes the reflectivity properties of the marker. The combination of these two parameters provides a robust feature description for subsequent matching, enabling high-precision marker matching even in environments with degraded laser features.

[0084] As a preferred example, for each point cloud cluster, the server first calculates the average of the three-dimensional coordinates of all target point cloud data within the cluster, and uses this average as the centroid location of the point cloud cluster, which is the cluster position. Further, the server calculates the arithmetic mean of the point cloud reflectance of all target point cloud data within the cluster, and uses this average as the cluster intensity.

[0085] For example, suppose a point cloud cluster contains 100 target point cloud data points. Calculate the average of the x, y, and z coordinates of these 100 points to obtain the centroid position (10.5, 20.3, 5.2), which is the location of the point cloud cluster. Then calculate the average of the point cloud reflectance of these 100 points, assuming it is 75.6, which is the point cloud cluster intensity. Therefore, the point cloud cluster position is (10.5, 20.3, 5.2), and the point cloud cluster intensity is 75.6.

[0086] In this embodiment, calculating the centroid position of a point cloud cluster effectively represents the spatial location of a marker. Calculating the average reflectance of the point cloud as the cluster intensity reflects the reflective characteristics of the marker. Thus, this feature information provides a reliable data foundation for subsequent marker matching and target localization, improving the accuracy and robustness of the localization process.

[0087] As an optional embodiment, the target localization algorithm is a global localization algorithm;

[0088] S103 may specifically include:

[0089] A first graph structure is constructed using the point cloud cluster positions of the first marker point cloud data as vertices and the geometric distances between the point cloud clusters of the first marker point cloud data as edges. A second graph structure is constructed using the point cloud cluster positions of the preset marker point cloud data as vertices and the geometric distances between the point cloud clusters of the preset marker point cloud data as edges.

[0090] For each first vertex in the first graph structure, it is paired with each second vertex in the second graph structure to obtain multiple candidate vertex pairs;

[0091] For each first vertex, select target point pairs that satisfy the preset pairing relationship from the corresponding candidate point pairs;

[0092] Based on each target point pair, determine the second marker point cloud data in the marker map that matches the first marker point cloud data.

[0093] In this embodiment, when the target object meets the relocation conditions, a global positioning algorithm is used to determine the second marker point cloud data in the marker map that matches the first marker point cloud data. The global positioning algorithm is used to determine the position of the target object in the global coordinate system. In global positioning, the initial position of the target object is unknown, and the algorithm needs to infer and calculate its position in the map or global environment based on external information.

[0094] When constructing the graph structure, vertices are identified by the centroid of the point cloud cluster, and edges are identified by the geometric distance between the centroids of the point cloud cluster. For example, the geometric distance can be Euclidean distance or Mahalanobis distance.

[0095] During the candidate point pair generation process, each vertex is fully connected and paired with all vertices in the map to form multiple candidate combinations.

[0096] When filtering target point pairs, the intensity difference between point cloud clusters corresponding to vertices is calculated as a geometric constraint, and the difference in geometric distances corresponding to connecting edges is combined as an attribute constraint. The two are weighted and summed to form a pairing error index, and the combination with the smallest error is selected as the final matching result.

[0097] Specifically, in relocalization scenarios, a graph structure model needs to be established based on the geometric and intensity distribution characteristics of the current point cloud clusters. By constructing edge attributes from the geometric distances between the centroids of point cloud clusters, spatial layout information can be preserved; by comparing the intensity of point cloud clusters, the topological relationship of intensity distribution can be established.

[0098] like Figure 2 As shown, a schematic diagram of a second graph structure is provided. This second graph structure includes five vertices: vertex 0, vertex 1, vertex 2, vertex 3, and vertex 4. Each vertex corresponds to the position of a point cloud cluster of preset marker point cloud data. The edge formed between vertex 1 and vertex 2 represents the geometric distance between the preset marker point cloud data corresponding to vertex 1 and the preset marker point cloud data corresponding to vertex 2.

[0099] During the matching process, both the intensity difference of point cloud clusters between vertices and the difference in edge attributes are considered, forming a dual constraint condition. For example, when the difference in geometric distance between two vertices is 2 meters and the difference in reflectivity is 5%, the pairing error can be quantified as 2 + 0.05 × 100 = 7. By traversing all candidate combinations and selecting the pair with the minimum error, accurate matching can be achieved in environments lacking significant geometric features by utilizing intensity distribution patterns, effectively overcoming the limitations of traditional single geometric matching.

[0100] As a preferred example, when the target object meets the relocation conditions, the server constructs a first graph structure using the position of the point cloud clusters of the first marker point cloud data as vertices and the geometric distance between the point cloud clusters of the first marker point cloud data as edges. Simultaneously, a second graph structure is constructed using the position of the point cloud clusters of the preset marker point cloud data as vertices and the geometric distance between the point cloud clusters of the preset marker point cloud data as edges.

[0101] For each first vertex in the first graph structure, it is paired with each second vertex in the second graph structure to obtain multiple candidate point pairs. Further, for each first vertex, target point pairs that satisfy a preset pairing relationship are selected from the corresponding candidate point pairs. Finally, based on each target point pair, second landmark point cloud data that matches the first landmark point cloud data in the landmark map is determined.

[0102] Specifically, in a practical application scenario, assume the first graph structure contains 5 vertices and the second graph structure contains 10 vertices. For each vertex in the first graph structure, it is paired with one of the 10 vertices in the second graph structure, resulting in 50 candidate vertex pairs. These 50 candidate vertex pairs are then filtered to select target vertex pairs that satisfy a preset pairing relationship. For example, the pairing relationship can be evaluated by calculating the difference in geometric distance between vertices and the difference in point cloud cluster intensity. Finally, based on the selected target vertex pairs, the second marker point cloud data that matches the first marker point cloud data is determined.

[0103] In this embodiment, when the target object meets the relocation conditions, the point cloud data of the first marker can be accurately matched with the preset point cloud data of the marker in the marker map by constructing a graph structure and point-to-point matching. This improves the accuracy and efficiency of marker matching, thereby enhancing the positioning accuracy of the target object.

[0104] As an optional embodiment, for each first vertex, target point pairs that satisfy a preset pairing relationship are selected from the corresponding candidate point pairs, which may specifically include:

[0105] For each candidate point pair corresponding to the first vertex, the intensity difference of the point cloud cluster between the first vertex and the second vertex is determined based on the point cloud cluster corresponding to the first vertex and the point cloud cluster corresponding to the second vertex.

[0106] For each candidate point pair corresponding to the first vertex, the difference in geometric distance between the first vertex and the second vertex is determined based on each edge connected to the first vertex and each edge connected to the second vertex.

[0107] For each candidate point pair corresponding to the first vertex, the difference between the intensity difference of the point cloud cluster and the geometric distance is accumulated to obtain the pairing error of each candidate point pair;

[0108] The candidate point pair with the smallest pairing error is determined as the target point pair for the first vertex.

[0109] In this embodiment, the point cloud cluster intensity difference is obtained by calculating the difference between the point cloud cluster intensities corresponding to two vertices, and the geometric distance difference is calculated by comparing the sum of the absolute values ​​of the differences in geometric distances between corresponding edges between vertices. For example, if the first vertex connects to two edges with corresponding geometric distances of 0.3 and 0.5, and the second vertex connects to two edges with corresponding geometric distances of 0.2 and 0.6, then the difference in geometric distance is |0.3-0.2|+|0.5-0.6|=0.1+0.1=0.2. During accumulation, the point cloud cluster intensity difference and the difference in geometric distance can be multiplied by preset weighting coefficients, such as a distance weight of 0.8 and an intensity weight of 0.2, to balance the influence of different factors on the error.

[0110] Specifically, after constructing the first and second graph structures, for each first vertex, all vertices in the second graph structure are traversed to generate candidate point pairs. For each candidate point pair, firstly, the geometric distances corresponding to the edges connecting the vertices are compared to reflect the consistency of the marker's position in the scene; secondly, the intensity differences of the corresponding point cloud clusters between the vertices are compared to reflect the consistency of the marker's reflectivity features. The pairing error obtained by combining these two methods can simultaneously constrain the matching accuracy of position and reflectivity features. Finally, the point pair with the smallest error is selected as the matching result, avoiding mismatches caused by a single factor.

[0111] As a preferred example, for each candidate point pair corresponding to the first vertex, the server determines the point cloud cluster intensity difference between the first vertex and the second vertex based on the point cloud cluster corresponding to the first vertex and the point cloud cluster corresponding to the second vertex.

[0112] Furthermore, for each candidate vertex pair corresponding to the first vertex, the server determines the difference in geometric distance between the first vertex and the second vertex based on the edges connected to the first vertex and the edges connected to the second vertex, respectively. For example, the sum of the absolute values ​​of the differences in geometric distances between the corresponding connecting edges of the two vertices can be calculated.

[0113] Therefore, for each candidate point pair corresponding to the first vertex, the server accumulates the difference between the point cloud cluster intensity difference and the geometric distance to obtain the pairing error of each candidate point pair. Different weighting coefficients can be assigned to the difference between the point cloud cluster intensity difference and the geometric distance for weighted summation.

[0114] Finally, the candidate point pair with the smallest pairing error is determined as the target point pair for the first vertex. By comparing the pairing errors of all candidate point pairs, the one with the smallest error is selected as the best match.

[0115] As another preferred example, such as Figure 3 As shown, a schematic diagram of a first graph structure is provided, which includes three vertices: vertex A, vertex B, and vertex C. When the first graph structure includes multiple vertices, a candidate edge pair method can be used for comparison to improve the matching efficiency of the marker point cloud data. Specifically, the edge formed by any two vertices in the first graph structure is used to form candidate edge pairs with each edge in the second graph structure. For example... Figure 3 The edge formed by vertices A and B, and Figure 2 The edges formed by vertex 1 and vertex 2 can constitute a candidate edge pair.

[0116] Then, by summing the point cloud cluster intensity differences between vertex 1 and vertex B, the point cloud cluster intensity differences between vertex 2 and vertex A, and the differences in geometric distances between the edges formed by vertex A and vertex B and the edges formed by vertex 1 and vertex 2, we can obtain the first type of pairing error for candidate edge pairs. Similarly, by summing the point cloud cluster intensity differences between vertex 2 and vertex B, the point cloud cluster intensity differences between vertex 1 and vertex A, and the differences in geometric distances between the edges formed by vertex A and vertex B and the edges formed by vertex 1 and vertex 2, we can obtain the second type of pairing error for candidate edge pairs.

[0117] Finally, among all the candidate edge pairs corresponding to the edge formed by vertex A and vertex B, the candidate edge pair with the smallest pairing error is determined as the target edge pair, thereby quickly matching the second marker point cloud data in the marker map that matches the first marker point cloud data.

[0118] This embodiment, by comprehensively considering the spatial distance and intensity differences between vertices, allows for a more comprehensive evaluation of matching quality and reduces the probability of false matches. Furthermore, employing the minimum pairing error screening criterion allows for the identification of the optimal matching point pair among multiple candidates, improving overall matching accuracy.

[0119] As an optional embodiment, the target localization algorithm is a tracking and localization algorithm;

[0120] S103 may also include:

[0121] Based on the historical pose of the target object at the previous time, the point cloud data of the first landmark is transformed into the map coordinate system to obtain the point cloud data of the third landmark.

[0122] Preset point cloud data of landmarks in the landmark map whose distance from the third landmark point cloud data meets the preset distance condition is identified as the second landmark point cloud data that matches the first landmark point cloud data.

[0123] In this embodiment, if the target object does not meet the relocation conditions, a tracking and positioning algorithm is used to determine the second marker point cloud data in the marker map that matches the first marker point cloud data. The tracking and positioning algorithm is used to track and locate the target object's position in space in real time.

[0124] Historical pose includes position coordinates and attitude angle parameters. The point cloud data of the first landmark is transformed into the map coordinate system through a coordinate transformation matrix.

[0125] The preset distance condition is set to minimize the distance between the preset marker point cloud data and the third marker point cloud data in the map coordinate system. When the preset marker point cloud data is minimized, the preset marker point cloud data is the second marker point cloud data that matches the first marker point cloud data.

[0126] Specifically, when the motion state of the target object does not trigger the relocation condition, the server automatically calls the pose parameters output from the previous positioning. Using a 3D rigid body transformation algorithm, the currently acquired first landmark point cloud data is projected onto the global map coordinate system to form the third landmark point cloud data. During this process, the rotation component is calculated using the quaternion method, and the translation component is directly superimposed using the X / Y / Z offsets in the pose parameters.

[0127] Finally, the Euclidean distance between the converted point cloud clusters and the preset point cloud clusters in the map library is calculated, and a correspondence is established when the centroid distance between the two is minimized.

[0128] In this embodiment, when the target object does not meet the relocation conditions, historical pose information is used to quickly match the point cloud data of the marker, avoiding the complex graph structure matching process and improving the positioning efficiency.

[0129] As an optional embodiment, S104 may specifically include:

[0130] Based on the positions of each laser point in the first marker point cloud data and the positions of each laser point in the second marker point cloud data, a covariance matrix is ​​constructed.

[0131] Singular value decomposition is performed on the covariance matrix to obtain the rotation matrix;

[0132] Determine the translation vector based on the rotation matrix;

[0133] Based on the rotation matrix and translation vector, the target pose of the target object at the target time is determined.

[0134] In this embodiment, the covariance matrix is ​​constructed by calculating the geometric relationship between two sets of point cloud data to capture the spatial correlation of point cloud distribution.

[0135] Singular value decomposition decomposes the covariance matrix into an orthogonal basis of rotational components, and extracts the optimal rotational relationships between point clouds through matrix operations.

[0136] The translation vector is determined by the difference in centroids of the rotated point cloud, ensuring the accuracy of the displacement. The determination of the target pose, combined with the rotation and translation parameters, forms a complete spatial transformation relationship.

[0137] Specifically, the positions of each laser point in the first marker point cloud data are first paired with the corresponding points in the second marker point cloud. A covariance matrix is ​​calculated based on the paired point sets, representing the spatial covariance relationship between the two point cloud sets. Singular value decomposition is performed on the covariance matrix to obtain three orthogonal matrices, including a rotation matrix describing the optimal rotation relationship. The translation vector is obtained by calculating the difference between the centroids of the two point cloud sets and applying the rotation matrix for coordinate transformation. Finally, the rotation angle of the rotation matrix and the displacement of the translation vector are combined to generate six-degree-of-freedom pose data of the target object in three-dimensional space.

[0138] As a preferred example, after matching the marker point cloud data, the target pose of the target object is calculated through the following steps. First, the positions of each laser point in the first marker point cloud data are associated with the corresponding laser point positions in the second marker point cloud data, where the laser point positions contain three-dimensional coordinate information. Subsequently, based on the associated laser point pairs, a covariance matrix is ​​constructed: the mean of the coordinates of the two batches of laser points is calculated, and the sum of the products of the differences between each laser point coordinate and its corresponding point coordinate is used as the element of the covariance matrix.

[0139] Next, the covariance matrix is ​​input into a singular value decomposition algorithm, which decomposes it into orthogonal matrices U and V containing eigenvectors. The rotation matrix is ​​obtained by multiplying V by the transpose of U, and the translation vector is calculated by subtracting the mean of the source point cloud after rotation from the mean of the target point cloud.

[0140] Ultimately, the target pose is formed by the combination of the rotation matrix and the translation vector, where the pose information includes six-degree-of-freedom spatial coordinates.

[0141] In this embodiment, the rotation and translation parameters are directly calculated using the singular value decomposition of the covariance matrix, avoiding the accumulation of errors during the iterative optimization process and significantly improving the computational efficiency of pose calculation.

[0142] As an optional embodiment, S104 may further include:

[0143] An error function is constructed based on the positions of each laser point in the first marker point cloud data and the positions of each laser point in the second marker point cloud.

[0144] Linearize the error function to determine the pose increment;

[0145] Based on the pose increment, the historical pose of the target object at the previous time step is updated to obtain the target pose of the target object at the target time step.

[0146] In this embodiment, when constructing the error function, it can be expressed as a function of the pose transformation parameters based on the Euclidean or Mahalanobis distance between point pairs. When linearizing the error function, Taylor expansion or Jacobian matrix approximation can be used to transform the nonlinear error function into a linear equation, thereby solving for the pose increment using the least squares method. The determination of the pose increment further involves an iterative optimization process, where each iteration adjusts the error function based on the current pose estimate until it converges to a stable solution.

[0147] Specifically, when constructing the error function, the position of each laser point in the first marker point cloud data is correlated with the corresponding laser point position in the second marker point cloud data, and the difference in their transformed coordinates is calculated as the error term. By linearizing the error function, the change in pose parameters is introduced into the Jacobian matrix to construct an incremental equation. By solving this equation, the pose increment is obtained, including the rotation angle increment and the translation vector increment. Based on the historical pose and the pose increment, the target pose at the current moment is updated. For example, iterative optimization can be performed using the Gauss-Newton method or the Levenberg-Marquardt algorithm, which only requires calculating a local linear approximation in each iteration, reducing computational complexity. By gradually correcting the pose error, a high-precision target pose is finally obtained, while avoiding excessive dependence on the initial pose and improving the robustness of localization.

[0148] This embodiment constructs a dynamic error model and iteratively optimizes pose parameters, enabling stable and continuous pose tracking in environments with sparse geometric features. This avoids the matching failures caused by traditional methods that rely on fixed feature shapes. At the same time, linearization and incremental update mechanisms significantly improve computational efficiency, ensuring that real-time positioning requirements are met.

[0149] As an optional embodiment, after S104, the positioning method may further include:

[0150] Projecting the point cloud data of the first landmark onto the map coordinate system yields the position of the first point cloud cluster in the map coordinate system.

[0151] The position of the first point cloud cluster is compared with the position of the second point cloud cluster in the second marker point cloud data to obtain the position error;

[0152] If the position error is greater than the preset error threshold, the value of the repositioning counter is incremented by one. The initial value of the repositioning counter is zero.

[0153] In this embodiment, the position of the first point cloud cluster is obtained by transforming the first marker point cloud data in the lidar coordinate system to the map coordinate system using the current pose of the target object as the transformation parameter; the position error is calculated based on Euclidean distance or Manhattan distance, and the preset error threshold ranges from 0.1 meters to 0.5 meters; the relocation counter accumulates each time the position error exceeds the threshold, and the relocation process is triggered when the accumulated value reaches the preset threshold or the target object has no historical pose, and the preset threshold ranges from 3 to 5 times.

[0154] Specifically, after locating the target object, the accuracy of the positioning result can be detected in real time by projecting the currently acquired first marker point cloud data onto the global map coordinate system and comparing its position with the matched second marker point cloud data. When the position error exceeds a preset error threshold, it indicates an anomaly in the current positioning result. At this time, the relocation counter is incremented to provide a basis for determining whether to initiate relocation. For example, if the preset error threshold is 0.3 meters, when the distance error between the first and second point cloud clusters reaches 0.4 meters, the counter is incremented. When the cumulative counter count reaches the preset threshold, the system automatically switches to relocation mode and re-executes the marker matching and pose calculation process. This mechanism effectively avoids system failure caused by the accumulation of single positioning errors, and at the same time, by controlling the relocation trigger frequency through the preset threshold, it reduces the consumption of computing resources while ensuring positioning accuracy.

[0155] As a preferred example, after the target object is located, the currently collected point cloud data of the first marker is transformed to a pre-constructed global map coordinate system using a coordinate transformation matrix to obtain the coordinates of the center of the projected point cloud cluster. Further, the Euclidean distance between the center coordinates of the projected point cloud cluster and the corresponding center coordinates of the point cloud clusters of preset markers on the map is calculated to obtain the actual position deviation. When this deviation exceeds a preset threshold of 0.5 meters, a relocation counter is incremented, initially at zero. If the accumulated value of the relocation counter exceeds a preset threshold of 3 times, the target object is determined to be in a positioning failure state, triggering a global relocation process.

[0156] This embodiment monitors the spatial consistency between the positioning results and the map reference in real time, dynamically detects the trend of deterioration in positioning accuracy, and actively triggers the repositioning mechanism when the accumulated error reaches the critical state, preventing the continuous output of incorrect poses under abnormal conditions and ensuring the navigation reliability of autonomous vehicles in scenarios with missing features such as tunnels.

[0157] As an optional embodiment, the relocation condition for the target object is that the value of the relocation counter reaches a preset threshold or the target object does not have a historical pose.

[0158] In this embodiment, during the localization process of the target object, the value of the relocation counter and the status of the historical pose database are continuously monitored.

[0159] If the relocation counter reaches a preset threshold, or if the target object does not exist in the historical pose database (i.e., the target object is being located for the first time), a relocation operation is triggered.

[0160] In this embodiment, when the accumulated error reaches a critical state or when positioning is performed for the first time, a repositioning mechanism is actively triggered to prevent the output of incorrect poses under abnormal conditions, thus ensuring the navigation reliability of autonomous vehicles in scenarios with missing features, such as tunnels.

[0161] Based on the positioning method provided in this application, correspondingly, this application also provides specific embodiments of the positioning device.

[0162] like Figure 4 As shown, the positioning device 400 provided in this application embodiment includes a data acquisition module 410, a point cloud extraction module 420, an algorithm determination module 430, a point cloud matching module 440, and an object positioning module 450.

[0163] The data acquisition module 410 is used to acquire scene point cloud data of the scene where the target object is located at the target time, and the scene includes landmarks;

[0164] The point cloud extraction module 420 is used to extract the first marker point cloud data of the marker from the scene point cloud data;

[0165] The algorithm determination module 430 is used to determine whether the target object meets the relocation conditions and obtain the target positioning algorithm of the target object. The target positioning algorithm is one of the global positioning algorithm and the tracking positioning algorithm.

[0166] The point cloud matching module 440 is used to match the first marker point cloud data with the preset marker point cloud data in the marker map based on the target localization algorithm, so as to obtain the second marker point cloud data in the marker map that matches the first marker point cloud data.

[0167] The object localization module 450 is used to locate the target object based on the first marker point cloud data and the second marker point cloud data.

[0168] As an optional embodiment, the point cloud extraction module 420 specifically includes the following units:

[0169] The point cloud filtering unit is used to filter out target point cloud data that meets preset point cloud conditions from scene point cloud data.

[0170] A point cloud clustering unit is used to cluster the target point cloud data to obtain at least one point cloud cluster when the data volume of the target point cloud data exceeds a preset threshold.

[0171] The point cloud determination unit is used to determine the first marker point cloud data of the marker for each point cloud cluster based on the target point cloud data in the point cloud cluster.

[0172] As an optional embodiment, the point cloud filtering unit is specifically used for:

[0173] From the scene point cloud data, candidate point cloud data that are less than a preset distance threshold from the radar are selected;

[0174] From the candidate point cloud data, select the target point cloud data whose point cloud reflectance is greater than the preset reflectance threshold.

[0175] As an optional embodiment, the first marker point cloud data includes the location of point cloud clusters and the intensity of point cloud clusters;

[0176] Point cloud determination unit, specifically used for:

[0177] The centroid of the point cloud cluster is used as the location of the point cloud cluster for the marker.

[0178] The average point cloud reflectance of the target point cloud data in the point cloud cluster is determined as the point cloud cluster intensity of the marker.

[0179] As an optional embodiment, the target localization algorithm is a global localization algorithm;

[0180] The point cloud matching module 430 specifically includes the following units:

[0181] The graph construction unit is used to construct a first graph structure with the point cloud cluster positions of the first marker point cloud data as vertices and the geometric distance between the point cloud clusters of the first marker point cloud data as edges, and to construct a second graph structure with the point cloud cluster positions of the preset marker point cloud data as vertices and the geometric distance between the point cloud clusters of the preset marker point cloud data as edges.

[0182] A vertex pairing unit is used to pair each first vertex in the first graph structure with each second vertex in the second graph structure to obtain multiple candidate vertex pairs;

[0183] The point-to-point filtering unit is used to filter out target point pairs that satisfy the preset pairing relationship from the corresponding candidate point pairs for each first vertex.

[0184] The point-to-point matching unit is used to determine the second marker point cloud data in the marker map that matches the first marker point cloud data based on each target point pair.

[0185] As an optional embodiment, the point-to-filter unit is specifically used for:

[0186] For each candidate point pair corresponding to the first vertex, the intensity difference of the point cloud cluster between the first vertex and the second vertex is determined based on the point cloud cluster corresponding to the first vertex and the point cloud cluster corresponding to the second vertex.

[0187] For each candidate vertex pair corresponding to the first vertex, the difference between the first vertex and the second vertex is determined based on the edges connected to the first vertex and the edges connected to the second vertex, respectively.

[0188] For each candidate point pair corresponding to the first vertex, the difference between the intensity difference of the point cloud cluster and the geometric distance is accumulated to obtain the pairing error of each candidate point pair;

[0189] The candidate point pair with the smallest pairing error is determined as the target point pair for the first vertex.

[0190] As an optional embodiment, the target localization algorithm is a tracking and localization algorithm;

[0191] The point cloud matching module 430 also includes the following units:

[0192] The point cloud conversion unit uses the historical pose of the target object at the previous time to convert the first landmark point cloud data to the map coordinate system, thereby obtaining the third landmark point cloud data.

[0193] The point cloud matching unit is also used to determine the preset point cloud data of the marker map that meets the preset distance condition with the third marker point cloud data as the second marker point cloud data that matches the first marker point cloud data.

[0194] As an optional embodiment, the object positioning module 440 is specifically used for:

[0195] Based on the positions of each laser point in the first marker point cloud data and the positions of each laser point in the second marker point cloud data, a covariance matrix is ​​constructed.

[0196] Singular value decomposition is performed on the covariance matrix to obtain the rotation matrix;

[0197] Determine the translation vector based on the rotation matrix;

[0198] Based on the rotation matrix and translation vector, the target pose of the target object at the target time is determined.

[0199] As an optional embodiment, the object positioning module 440 is also used for:

[0200] An error function is constructed based on the positions of each laser point in the first marker point cloud data and the positions of each laser point in the second marker point cloud.

[0201] Linearize the error function to determine the pose increment;

[0202] Based on the pose increment, the historical pose of the target object at the previous time step is updated to obtain the target pose of the target object at the target time step.

[0203] As an optional embodiment, after locating the target object based on the first marker point cloud data and the second marker point cloud data, the positioning device further includes the following modules:

[0204] The point cloud projection module is used to project the point cloud data of the first marker onto the map coordinate system to obtain the position of the first point cloud cluster of the first marker point cloud data in the map coordinate system.

[0205] The position comparison module is used to compare the position of the first point cloud cluster with the position of the second point cloud cluster of the second marker point cloud data to obtain the position error;

[0206] The counter accumulation module is used to increment the value of the repositioning counter by one when the position error is greater than a preset error threshold. The initial value of the repositioning counter is zero.

[0207] Based on the positioning method provided in this application, correspondingly, this application also provides specific embodiments of the positioning device.

[0208] Figure 5 A schematic diagram of the hardware structure of the positioning device provided in an embodiment of this application is shown.

[0209] The positioning device may include a processor 501 and a memory 502 storing computer program instructions.

[0210] Specifically, the processor 501 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.

[0211] Memory 502 may include mass storage for data or instructions. For example, and not limitingly, memory 502 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 502 may include removable or non-removable (or fixed) media. Where appropriate, memory 502 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 502 is non-volatile solid-state memory.

[0212] The processor 501 implements any of the positioning methods described in the above embodiments by reading and executing computer program instructions stored in the memory 502.

[0213] In one example, the positioning device may also include a communication interface 503 and a bus 510. Wherein, for example... Figure 5 As shown, the processor 501, memory 502, and communication interface 503 are connected through bus 510 and complete communication with each other.

[0214] The communication interface 503 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0215] Bus 510 includes hardware, software, or both, that couples components of a positioning 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 510 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.

[0216] 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.

[0217] In addition, in conjunction with the positioning methods in the above embodiments, this application embodiment can provide a computer program product for implementation. When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device performs the positioning method provided by any aspect of the above embodiments of this application.

[0218] 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.

[0219] 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.

[0220] 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.

[0221] 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.

[0222] 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, The method includes: Acquire scene point cloud data of the scene where the target object is located at the target time, wherein the scene includes landmarks; Extract the first marker point cloud data of the marker from the scene point cloud data; Determine whether the target object meets the relocation condition, and obtain the target positioning algorithm of the target object. The target positioning algorithm is one of the global positioning algorithm and the tracking positioning algorithm. Based on the target localization algorithm, the first marker point cloud data is matched with the preset marker point cloud data in the marker map to obtain the second marker point cloud data in the marker map that matches the first marker point cloud data. The target object is located based on the first marker point cloud data and the second marker point cloud data.

2. The method according to claim 1, characterized in that, The step of extracting the first marker point cloud data of the marker from the scene point cloud data includes: From the scene point cloud data, target point cloud data that meets the preset point cloud conditions are selected; If the amount of target point cloud data exceeds a preset threshold, the target point cloud data is clustered to obtain at least one point cloud cluster. For each point cloud cluster, the first marker point cloud data of the marker is determined based on the target point cloud data in the point cloud cluster.

3. The method according to claim 2, characterized in that, The step of filtering target point cloud data that meets preset point cloud conditions from the scene point cloud data includes: From the scene point cloud data, candidate point cloud data whose distance from the radar is less than a preset distance threshold are selected; From the candidate point cloud data, the target point cloud data with a point cloud reflectance greater than a preset reflectance threshold is selected.

4. The method according to claim 2, characterized in that, The first marker point cloud data includes the location and intensity of the point cloud clusters; For each point cloud cluster, determining the first marker point cloud data of the marker based on the target point cloud data in the point cloud cluster includes: The centroid position of the point cloud cluster is determined as the point cloud cluster position of the marker; The average point cloud reflectance of the target point cloud data in the point cloud cluster is determined as the point cloud cluster intensity of the marker.

5. The method according to claim 1, characterized in that, The target localization algorithm is the global localization algorithm; The step of matching the first landmark point cloud data with preset landmark point cloud data in the landmark map based on the target localization algorithm to obtain second landmark point cloud data in the landmark map that matches the first landmark point cloud data includes: A first graph structure is constructed using the point cloud cluster positions of the first marker point cloud data as vertices and the geometric distances between the point cloud clusters of the first marker point cloud data as edges. A second graph structure is constructed using the point cloud cluster positions of the preset marker point cloud data as vertices and the geometric distances between the point cloud clusters of the preset marker point cloud data as edges. For each first vertex in the first graph structure, it is paired with each second vertex in the second graph structure to obtain multiple candidate vertex pairs; For each first vertex, target point pairs that satisfy the preset pairing relationship are selected from the corresponding candidate point pairs; Based on each of the target point pairs, determine the second marker point cloud data in the marker map that matches the first marker point cloud data.

6. The method according to claim 5, characterized in that, For each of the first vertices, selecting target point pairs that satisfy a preset pairing relationship from the corresponding candidate point pairs includes: For each candidate point pair corresponding to the first vertex, the point cloud cluster intensity difference between the first vertex and the second vertex is determined based on the point cloud cluster corresponding to the first vertex and the point cloud cluster corresponding to the second vertex. For each candidate point pair corresponding to the first vertex, the difference value of the geometric distance between the first vertex and the second vertex is determined according to each edge connected to the first vertex and each edge connected to the second vertex. For each candidate point pair corresponding to the first vertex, the difference between the point cloud cluster intensity difference and the geometric distance is accumulated to obtain the pairing error of each candidate point pair; The candidate point pair with the smallest pairing error is determined as the target point pair of the first vertex.

7. The method according to any one of claims 1-6, characterized in that, The target localization algorithm is the tracking and localization algorithm; The step of matching the first landmark point cloud data with preset landmark point cloud data in the landmark map based on the target localization algorithm to obtain second landmark point cloud data in the landmark map that matches the first landmark point cloud data includes: Based on the historical pose of the target object at the previous time of the target time, the first landmark point cloud data is converted to the map coordinate system to obtain the third landmark point cloud data; The preset marker point cloud data whose distance to the third marker point cloud data in the marker map meets a preset distance condition is determined as the second marker point cloud data that matches the first marker point cloud data.

8. The method according to any one of claims 1-6, characterized in that, The step of locating the target object based on the first marker point cloud data and the second marker point cloud data includes: Based on the positions of each laser point in the first marker point cloud data and the positions of each laser point in the second marker point cloud data, a covariance matrix is ​​constructed; Singular value decomposition is performed on the covariance matrix to obtain the rotation matrix; Based on the rotation matrix, determine the translation vector; Based on the rotation matrix and the translation vector, the target pose of the target object at the target time is determined.

9. The method according to any one of claims 1-6, characterized in that, After locating the target object based on the first marker point cloud data and the second marker point cloud data, the method further includes: Projecting the first landmark point cloud data onto the map coordinate system yields the position of the first point cloud cluster of the first landmark point cloud data in the map coordinate system. The position of the first point cloud cluster is compared with the position of the second point cloud cluster in the second marker point cloud data to obtain the position error; If the position error is greater than a preset error threshold, the value of the repositioning counter is incremented by one, and the initial value of the repositioning counter is zero.

10. The method according to claim 9, characterized in that, The relocation condition for the target object is that the value of the relocation counter reaches a preset threshold or the target object does not have a historical pose.

11. An electronic 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-10.

12. 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-10.