A vector weight-based laser radar indoor positioning method
By using vector weights and global matching, and by filtering, projecting, and iteratively selecting total station and lidar point cloud data, the high-precision problem of lidar indoor positioning technology in complex scenarios is solved, and high-precision lidar indoor positioning is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGZHOU UNIVERSITY
- Filing Date
- 2023-05-05
- Publication Date
- 2026-05-08
AI Technical Summary
Existing lidar indoor positioning technology struggles to achieve high accuracy in complex scenarios. Multi-sensor fusion leads to large positioning errors, and the algorithms are complex and inefficient, failing to meet construction standards.
By employing vector weights and global matching, high-precision matching is achieved by filtering, projecting, overlapping convolution, interpolation filtering, and iterative screening of total station and lidar point cloud data, thereby correcting angle and position errors.
It improves positioning accuracy, with an angle error of less than 1.1 degrees and a position error of less than 9 mm, meeting construction standards and achieving a high matching success rate, thus overcoming the shortcomings of traditional algorithms.
Smart Images

Figure CN116698029B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of lidar positioning, and particularly relates to a lidar indoor positioning method based on vector weights. Background Technology
[0002] With the rapid development of robotics technology, more and more technological products such as driverless cars and drones are entering people's lives. One crucial technology for enabling the intelligence of various mobile robots is positioning. In practical applications, mobile robots are prone to tracking failures when facing complex scenarios, such as changing lighting, numerous dynamic obstacles, and large multi-sensor fusion errors, which in turn affects their positioning. Currently, indoor lidar positioning technology cannot meet the positioning accuracy requirements stipulated by operational standards, making indoor decoration work unreliable for mobile robots. For example, the positioning technology for mobile devices used in tasks such as wall sanding cannot achieve the required vertical and horizontal accuracy, thus these high-precision tasks rely entirely on manual processing.
[0003] Existing LiDAR positioning technologies mostly combine with vehicle-mounted auxiliary equipment such as cameras, millimeter-wave radar, GPS positioning systems, Bluetooth, geomagnetic radar, ultrasonic radar, UWB modules, and inertial navigation systems for joint positioning. However, the data information between different devices is inconsistent, data processing requires a lot of time, and the conversion between the local coordinates of different vehicle-mounted auxiliary equipment, the mobile device's own coordinates, and the global coordinates based on the environment inevitably increases the positioning error, making it impossible to control the positioning error within the required error range. Therefore, combining different vehicle-mounted auxiliary equipment results in problems such as complex algorithms, low efficiency, and large positioning errors. Summary of the Invention
[0004] The purpose of this invention is to propose an indoor positioning method for lidar based on vector weights and global matching. By using vector weights to compensate for angle and position errors, the measured offset angle and position are corrected, and the degree accuracy is reduced to less than 1.1 degrees and the position accuracy is reduced to less than 9 mm.
[0005] To achieve the above objectives, this invention provides a lidar indoor positioning method based on vector weights, comprising:
[0006] S1: The total station scans the site to obtain the original high-precision, static total station point cloud data, removes redundant information from the original total station data, and filters out the noise.
[0007] S2: Constructing LiDAR point cloud data;
[0008] S3: Project the lidar point cloud model and the total station point cloud model, and filter and remove weak features in the projected image.
[0009] S4: Perform overlap convolution operation on the total station projection grid map and the lidar projection grid map respectively. Take the maximum convolution result as the matching degree of the lidar point cloud and the total station point cloud around the image rotation center in the global coordinate system. Rotate the total station point cloud projection to complete the initial matching of the total station point cloud and the lidar point cloud.
[0010] S5: After obtaining the initial matching degree by performing the overlap convolution operation, based on the actual distribution on site, the region with the most stable features and the richest feature information is selected as the benchmark region to be screened. The point cloud of each benchmark region to be screened is subjected to interpolation filtering. The grid size is set according to the position boundary value of each benchmark region to be screened. The natural neighborhood interpolation method is used to fill the grid within the boundary of the point cloud. After the interpolation processing, convolution smoothing processing is performed.
[0011] S6: Perform surface fitting on the points after interpolation and smoothing to obtain a total station point cloud set that meets the benchmark requirements. Then, use the total station point cloud set that meets the requirements as the point cloud set of the initial screening benchmark area of the total station.
[0012] S7: Based on the initial screening results of each total station's initial screening reference area, perform iterative screening of the total station reference features again. Before iteratively screening the total station reference features, set the screening feature interval ε for the t-th iteration. t Area threshold S roi Simultaneously, the contour area S of the selected feature interval is calculated;
[0013] The specific steps for calculating the contour area S of the selected feature interval in S7 include:
[0014] The first step is to initialize the feature interval ε. t Let the feature interval ε be selected. t The interval size is consistent with the initial screening reference area of the total station;
[0015] The second step is to filter the feature interval ε. t Traverse the initial screening reference area of the total station to determine whether there are non-reference features;
[0016] The third step is to set i = i + 1;
[0017] If i / 3 leaves a remainder of 1, then ε t The length of the region is reduced and then returned to the first step;
[0018] If i / 3 leaves a remainder of 2, then ε t The width of the area is reduced and then returned to step one;
[0019] If i / 3 leaves a remainder of 0, then t = t + 1, and ε t-1Both the width and length regions are reduced and updated to ε. t Then jump to step one;
[0020] After feature extraction, a total of k reference features of the total station are selected. Then, the vector weight method is used to compare and adjust the reference features of the total station and the scanning information of the lidar.
[0021] Further, step S2 includes:
[0022] S21: Fixed-point scanning of the on-site environment and generation of multiple frames of lidar point cloud data from different perspectives;
[0023] S22: Stitch together multiple frames of lidar point cloud data from different perspectives;
[0024] S23: Remove redundant data from the original point cloud data of the LiDAR and construct the LiDAR point cloud data after point cloud preprocessing.
[0025] Furthermore, the point cloud preprocessing includes filtering operations.
[0026] Further, step S3 specifically includes: rotating the total station point cloud projection map information clockwise 359 times with a step size of 1 degree around the rotation axis of the image center, and saving the map information at 0 degrees and after 359 rotations into 360 grid images respectively.
[0027] Furthermore, the fitting process in S6 specifically includes:
[0028] S61: For a point set in a 3D point cloud space, there exist N (N>2) points {p1(x1, y1, z1), p2(x2, y2, z2), ..., p N (x N y N , z N )},
[0029] The mean position of the point cloud set is obtained by averaging the values of N points in the 3D point cloud set.
[0030]
[0031] Then vector for
[0032]
[0033] Therefore, the square component has
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040] S62: Order Singular value decomposition of CM is performed using SVD.
[0041] Where V = [a, b, c], let n = V, then
[0042] CM=U∑V T ,
[0043] The equation of the fitted plane can be derived as aX + bY + cZ = d;
[0044] S63: Substituting each point in the point cloud set into the equation yields the distance from each point to the fitted plane.
[0045] d i =ax i +by i +cz i -d
[0046] If d i <d f If the point is valid, it is a valid reference point in the point cloud set; otherwise, it is a non-valid point in the point cloud set.
[0047] S64: Perform surface fitting again on the reference points that meet the requirements in the point cloud set to obtain the updated fitting plane parameters a, b, c, d. Therefore, the updated fitting plane equation is aX + bY + cz = d.
[0048] Furthermore, the steps of the vector weighting method specifically include:
[0049] (a) Extract k lidar reference features located at the same global coordinate system based on the global coordinate positions of each total station reference feature. Then, perform surface fitting on the selected k lidar reference features to obtain the surface fitting parameters of the corresponding lidar reference features. And the normal vector of the fitted surface is
[0050] Simultaneously, the centroid Cen of the t-th lidar reference feature is calculated. t ,
[0051]
[0052] in, Let N be the i-th point in the t-th lidar reference feature. * Let V be the total number of points in the t-th lidar reference feature; calculate the volume V of each lidar reference feature based on its contour. t , t∈[1,k];
[0053] (b) The normal vector of the fitting surface of the lidar reference feature and the normal vector of the corresponding total station reference feature Projected sequentially onto the yoz, xoz, xoy planes, the angle differences between the projections onto the yoz, xoz, xoy planes are used as the rotation angles of the x, y, and z axes, respectively; let... The formulas for calculating the rotation angles of each axis are as follows:
[0054]
[0055]
[0056]
[0057] Among them, a t b t c t Let t be the normal vector of the total station reference feature. Parameters;
[0058] (c) Calculate the rotation weights for each axis: Let
[0059]
[0060] but in, A unit vector representing global coordinates;
[0061] (d) Rotation weights of each axis obtained according to the selected method Calculate the global rotation angle of the lidar.
[0062]
[0063]
[0064]
[0065] α * ,β * γ * These are the global rotation angles of the lidar around the x-axis, y-axis, and z-axis, respectively.
[0066] (e) Rotate the point cloud scanned by the lidar sequentially around the z-axis by γ. * Degrees, then rotate β around the y-axis * Finally, rotate α around the x-axis * Degrees, and rotate the centroid Cen t (x t y t , z t Substituting the corresponding surface fitting equation of the total station reference feature, the centroid Cen of the k-th lidar reference feature is obtained. t Distance deviation to the corresponding total station reference feature
[0067]
[0068] The formulas for calculating the translation amounts along the x, y, and z axes are as follows:
[0069]
[0070]
[0071]
[0072] (f) Based on the translation amount r of each axis x r y r z To translate and update the centroid C of k lidar reference features t Then update the centroid C t Substituting the corresponding surface fitting equation of the total station reference feature, we can find the centroid C of the k-th lidar reference feature. t Distance deviation to the corresponding total station reference feature
[0073] (g) If Then the translation amount r x r y r z Find the current optimal translation amount for the lidar point cloud and proceed to step (h); otherwise, continue to calculate the translation amount for each axis.
[0074]
[0075]
[0076]
[0077] Then proceed to step six until the optimal global translation r of the lidar point cloud is found. x r y r z ;
[0078] (h) Based on r x r y r z To translate the lidar data and then update the lidar point cloud data;
[0079] (i) Take α from the last few iterations each time. * ,β * γ * The results are analyzed. If the baseline feature conditions are met, the baseline feature is shrunk. Otherwise, the iteration continues until convergence or the maximum number of iterations is reached before exiting the iteration.
[0080] The beneficial technical effects of the present invention are at least as follows:
[0081] The vector matching algorithm proposed in this invention can achieve more perfect matching results, has a higher matching success rate, better meets the requirements of construction standards, and overcomes the shortcomings of traditional algorithms, exhibiting better matching performance in complex and unknown environments. Attached Figure Description
[0082] The present invention will be further described with reference to the accompanying drawings, but the embodiments in the drawings do not constitute any limitation on the present invention. For those skilled in the art, other drawings can be obtained based on the following drawings without creative effort.
[0083] Figure 1 This is a flowchart of a lidar indoor positioning method based on vector weights and global matching according to the present invention.
[0084] Figure 2 This is a schematic diagram of the total station point cloud data of the present invention.
[0085] Figure 3 This is a schematic diagram of the point cloud data of the lidar in this invention.
[0086] Figure 4 This is a schematic diagram of the point cloud projection grid of the lidar of the present invention.
[0087] Figure 5 This is a schematic diagram of the point cloud projection grid of the total station according to the present invention.
[0088] Figure 6 This is a schematic diagram of the total station projection grid after rotation according to the present invention.
[0089] Figure 7 This is a flowchart illustrating the implementation of the vector weight matching method of the present invention.
[0090] Figure 8 This is a schematic diagram of the data to be matched in this invention.
[0091] Figure 9 This is a diagram showing the matching results of the vector matching algorithm of this invention.
[0092] Figure 10 This is a diagram showing the matching results of the PtoP ICP algorithm.
[0093] Figure 11 This is a diagram showing the matching results of the NDT algorithm. Detailed Implementation
[0094] Embodiments of the present invention are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.
[0095] like Figure 1 As shown, according to the present invention, a lidar indoor positioning method based on vector weights and global matching includes:
[0096] S1: The total station scans the site to obtain the original high-precision, static total station point cloud data, removes redundant information from the original total station data, and filters out the noise.
[0097] To facilitate feature extraction and reduce data footprint, redundant information in the original total station data was removed, and noise was filtered out, thus constructing a... Figure 2 The total station point cloud data shown is shown.
[0098] S2: Construct LiDAR point cloud data.
[0099] The lidar first performs a fixed-point scan of the environment and generates multiple frames of lidar point cloud data from different perspectives. Then, these multiple frames are stitched together. Next, redundant data is removed from the original lidar point cloud data, and after filtering and other point cloud preprocessing, a new point cloud structure is constructed. Figure 3 The lidar point cloud data shown is shown.
[0100] S3: Project the lidar point cloud model and the total station point cloud model, and filter and remove weak features in the projected map.
[0101] First, the LiDAR point cloud model is projected, and weak features in the projected image are filtered and removed. This process removes inconspicuous features from the feature information, preventing interference with matching and improving matching efficiency. (See figure below.) Figure 4 This is a grid projection of the point cloud from a lidar radar system.
[0102] S4: Perform overlap convolution operations on the total station projection grid map and the lidar projection grid map respectively. Use the maximum convolution result as the matching degree of the lidar point cloud and the total station point cloud around the image rotation center in the global coordinate system. Rotate the total station point cloud projection to complete the initial matching of the total station point cloud and the lidar point cloud.
[0103] Similarly, the total station point cloud model is projected, and weak features in the projected image are filtered and removed, as shown in the figure below. Figure 5 The total station point cloud projection grid is used to remove inconspicuous features from the feature information, preventing interference with matching and improving matching efficiency. The total station point cloud projection information is rotated 359 times clockwise around the image center axis with a step size of 1 degree, and the image information after 0 degrees and after 359 rotations is saved into 360 grid images respectively.
[0104] S5: After obtaining the initial matching degree by performing overlap convolution operation, based on the actual distribution on site, the region with the most stable features and the richest feature information is selected as the benchmark region to be screened. The point cloud of each benchmark region to be screened is subjected to interpolation filtering. The grid size is set according to the position boundary value of each benchmark region to be screened. The natural neighborhood interpolation method is used to fill the grid within the boundary of the point cloud. After the interpolation processing, convolution smoothing processing is performed.
[0105] The overlap degree of the 360 total station projection grid images is convolved with the lidar projection grid image. The maximum convolution result is used as the matching degree of the lidar point cloud and the total station point cloud around the image rotation center in the global coordinate system. The total station point cloud projection is then rotated to complete the initial matching between the total station point cloud and the lidar point cloud. Figure 5 As shown, the point cloud projection of the total station has been rotated to match the point cloud projection of the lidar (e.g., Figure 2 The positions that basically overlap.
[0106] S6: Perform surface fitting on the points after interpolation and smoothing to obtain a total station point cloud set that meets the benchmark requirements. Then, use the total station point cloud set that meets the requirements as the point cloud set of the initial screening benchmark area for the total station.
[0107] After obtaining the initial matching degree through convolutional operations with overlap, regions with stable features and rich feature information are selected as the baseline regions for initial screening based on the actual distribution on site. Then, interpolation filtering is performed on the point clouds of each baseline region. The grid size is set according to the positional boundary values of each baseline region, and natural neighborhood interpolation is used to fill points into the grid within the point cloud boundary. After interpolation, convolutional smoothing is performed.
[0108] The points that have undergone interpolation and smoothing are then subjected to surface fitting to obtain a total station point cloud set that meets the benchmark requirements. This set of total station point clouds that meets the requirements is then used as the point cloud set for the initial screening benchmark area of the total station.
[0109] Specifically, the surface fitting process uses a component plane surface fitting method based on SVD, the principle of which is as follows:
[0110] For a point set in a 3D point cloud space, there exist N (N>2) points {p1(x1, y1, z1), p2(x2, y2, z2), ..., p N (x N y N , z N Then, the mean position of the point cloud set is obtained by averaging the N points of the 3D point cloud set. The mean position of the point cloud set is...
[0111]
[0112] Then vector for
[0113]
[0114] Therefore, the square component has
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121] make Singular value decomposition of CM is performed using SVD.
[0122] CM=U∑V T ;
[0123] Where V = [a, b, c], let n = V, then
[0124]
[0125] The equation of the fitted plane can be derived as aX + bY + cZ = d.
[0126] By substituting each point in the point cloud set into the equation, the distance from each point to the fitted plane can be obtained.
[0127] d i =ax i +by i +cz i -d;
[0128] If d i <d f If the condition is met, then the point is a valid reference point in the point cloud set; otherwise, the point is not valid in the point cloud set.
[0129] The reference points in the point cloud set that meet the requirements are fitted to the surface again to obtain the updated fitting plane parameters a, b, c, d. Therefore, the updated fitting plane equation is aX + bY + cZ = d.
[0130] S7: Based on the initial screening results of each total station's initial screening reference area, perform iterative screening of the total station reference features again. Before iteratively screening the total station reference features, set the screening feature interval ε for the t-th iteration. t Area threshold S roi Simultaneously, the contour area S of the selected feature interval is calculated;
[0131] Specifically, the first step is to initialize the filtering feature interval ε. t Let the feature interval ε be selected. t The size of the interval is consistent with the initial screening reference area of the total station.
[0132] The second step is to filter the feature interval ε. t Traverse the initial screening reference area of the total station to determine whether there are any non-reference features.
[0133] The third step is to let i = i + 1
[0134] If i / 3 leaves a remainder of 1, then ε t The length of the region is reduced and then we return to step one.
[0135] If i / 3 leaves a remainder of 2, then ε t Reduce the width of the area and return to step one.
[0136] If i / 3 leaves a remainder of 0, then t = t + 1, and ε t-1 Both the width and length regions are reduced and updated to ε. t Then, jump to step one.
[0137] After feature extraction, a total of k reference features of the total station are selected. Then, the vector weight method is used to compare and adjust the reference features of the total station and the scanning information of the lidar.
[0138] Specifically, the implementation flowchart of the vector weight matching method is as follows: Figure 7As shown, the proposed vector weighting method is as follows:
[0139] First, a preliminary matching of the total station point cloud data model and the LiDAR point cloud data model is performed using the sampling grid convolution matching method. After the preliminary matching, the reference features of the total station are further determined and extracted. Then, the following steps are used to compare and adjust the reference features of the total station and the scanning information of the LiDAR.
[0140] The first step is to extract k lidar reference features located at the same global coordinate system based on the global coordinate positions of each total station reference feature. Then, surface fitting is performed on the selected k lidar reference features to obtain the surface fitting parameters of the corresponding lidar reference features. And the normal vector of the fitted surface is
[0141] Simultaneously, the centroid Cen of the t-th lidar reference feature is calculated. t .
[0142]
[0143] in, Let N be the i-th point in the t-th lidar reference feature. * Let t be the total number of points in the t-th lidar reference feature.
[0144] Based on the contours of the lidar reference features, calculate the volume V of each lidar reference feature. t , t∈[1,k].
[0145] The second step is to fit the normal vector of the lidar reference feature surface. and the normal vector of the corresponding total station reference feature Projected sequentially onto the yoz, xoz, and xoy planes, the angular differences between the angles of the projections onto these planes are used as the rotation angles along the x, y, and z axes, respectively. Let... The formulas for calculating the rotation angles of each axis are as follows:
[0146]
[0147]
[0148]
[0149] Among them, a t b t c t Let t be the normal vector of the total station reference feature. The parameters.
[0150] The third step is to calculate the rotation weights for each axis:
[0151] make
[0152]
[0153] but in, A unit vector representing global coordinates.
[0154] The fourth step is to obtain the rotation weights of each axis based on the selected method. Calculate the global rotation angle of the lidar.
[0155]
[0156]
[0157]
[0158] α * ,β * γ * These represent the global rotation angles of the lidar around the x-axis, y-axis, and z-axis, respectively.
[0159] The fifth step is to rotate the point cloud scanned by the lidar around the z-axis by γ in sequence. * Degrees, then rotate β around the y-axis * Finally, rotate α around the x-axis * Degree, and rotate the center of mass C t (x t y t , z t Substituting the corresponding surface fitting equation of the total station reference feature, the centroid C of the k-th lidar reference feature is obtained. t Distance deviation to the corresponding total station reference feature
[0160]
[0161] The formulas for calculating the translation amounts along the x, y, and z axes are as follows:
[0162]
[0163]
[0164]
[0165] Step 6: Based on the translation amount r of each axis x r y r z To translate and update the centroid C of k lidar reference features tThen update the centroid C t Substituting the corresponding surface fitting equation of the total station reference feature, we can find the centroid C of the k-th lidar reference feature. t Distance deviation to the corresponding total station reference feature
[0166] Step 7, if Then the translation amount r x r y r z Find the current optimal translation amount for the lidar point cloud and proceed to step eight. Otherwise, continue calculating the translation amount for each axis.
[0167]
[0168]
[0169]
[0170] Then proceed to step six until the optimal global translation r of the lidar point cloud is found. x r y r z .
[0171] Step 8, based on r x r y r z To translate the LiDAR data, and then update the LiDAR point cloud data.
[0172] Step 9: Each time, take the α value from the last few iterations. * ,β * γ * The results are analyzed. If the baseline feature conditions are met, the baseline feature is shrunk. Otherwise, the iteration continues until convergence or the maximum number of iterations is reached before exiting the iteration.
[0173] The data to be matched is as follows Figure 8 As shown, after matching using the vector weight matching method, the following results are obtained: Figure 9 The matching results shown are as follows. Vector matching algorithms can achieve more perfect matching results, while the matching results of the PtoP ICP algorithm (such as...) Figure 10 The matching results of the NDT algorithm (as shown) and the NDT algorithm (as shown) Figure 11 (As shown) is not ideal.
[0174] The results show that the vector matching algorithm has a higher matching success rate and is more in line with construction standards. PtoP ICP and NDT algorithms are prone to local optima when dealing with non-uniform data, resulting in distorted matching accuracy. In contrast, the vector matching algorithm overcomes these shortcomings and demonstrates better matching performance in complex and unknown environments.
[0175] Although embodiments of the invention have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and variations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Claims
1. A lidar indoor positioning method based on vector weights, characterized in that, include: S1: The total station scans the site to obtain the original high-precision, static total station point cloud data, removes redundant information from the original total station data, and filters out the noise. S2: Constructing LiDAR point cloud data; S3: Project the lidar point cloud model and the total station point cloud model, and filter and remove weak features in the projected image. S4: Perform overlap convolution operations on the total station projection grid map and the lidar projection grid map respectively. Use the maximum convolution result as the matching degree of the lidar point cloud and the total station point cloud around the image rotation center in the global coordinate system. Rotate the total station point cloud projection to complete the initial matching of the total station point cloud and the lidar point cloud. S5: After obtaining the initial matching degree by performing the overlap convolution operation, based on the actual distribution on site, the region with the most stable features and the richest feature information is selected as the benchmark region to be screened. The point cloud of each benchmark region to be screened is subjected to interpolation filtering. The grid size is set according to the position boundary value of each benchmark region to be screened. The natural neighborhood interpolation method is used to fill the grid within the boundary of the point cloud. After the interpolation processing, convolution smoothing processing is performed. S6: Perform surface fitting on the points after interpolation and smoothing to obtain a total station point cloud set that meets the benchmark requirements. Then, use the total station point cloud set that meets the requirements as the point cloud set of the initial screening benchmark area of the total station. S7: Based on the initial screening results of each total station's initial screening reference area, perform iterative screening of the total station reference features again. Before iteratively screening the total station reference features, set the screening feature interval for the t-th iteration. Area threshold Simultaneously, the contour area S of the selected feature interval is calculated; The specific steps for calculating the contour area S of the selected feature interval in S7 include: The first step is to initialize the filtering feature range. Let the selection feature interval The interval size is consistent with the initial screening reference area of the total station; The second step is to filter feature intervals. Traverse the initial screening reference area of the total station to determine whether there are non-reference features; The third step is to set i = i + 1; If i / 3 leaves a remainder of 1, then The length range is reduced and then returned to the first step; If i / 3 leaves a remainder of 2, then... The width of the area is reduced and then returned to step one; If i / 3 leaves a remainder of 0, then t = t + 1. Both the width and length regions are reduced and updated to Then jump to step one; After feature extraction, a total of k reference features of the total station are selected. Then, the vector weight method is used to compare and adjust the reference features of the total station and the scanning information of the lidar. The specific steps of the vector weighting method include: (a) Extract k lidar reference features located at the same global coordinate system based on the global coordinate positions of each total station reference feature. Then, perform surface fitting on the selected k lidar reference features to obtain the surface fitting parameters of the corresponding lidar reference features. ,and , and the normal vector of the fitted surface is , Simultaneously calculate the centroid of the t-th lidar reference feature. , in, Let i be the i-th point in the t-th lidar reference feature. Let be the total number of points in the t-th lidar reference feature; calculate the volume of each lidar reference feature based on its contour. ; (b) The normal vector of the fitting surface of the lidar reference feature and the normal vector of the corresponding total station reference feature Project sequentially onto the yoz, xoz, and xoy planes, and use the angle differences between the projections onto the yoz, xoz, and xoy planes as the rotation angles of the x, y, and z axes, respectively; let the x-axis rotation angle be... y-axis rotation angle z-axis rotation angle The formulas for calculating the rotation angles of each axis are as follows: in, , , Let t be the normal vector of the total station reference feature. Parameters; (c) Calculate the rotation weights for each axis: First, define the function. Then the x-axis rotation weight of the t-th lidar reference feature The y-axis rotation weight of the t-th lidar reference feature The z-axis rotation weight of the t-th lidar reference feature, where, (1,0,0) (0,1,0) (0,0,1) represents the unit vector of global coordinates; (d) Rotation weights of each axis obtained according to the selected method , , The global rotation angle of the lidar is calculated. These are the global rotation angles of the lidar around the x-axis, y-axis, and z-axis, respectively. (e) Rotate the point cloud scanned by the lidar around the z-axis sequentially. Degrees, then rotate around the y-axis Finally, rotate around the x-axis Degree, and the rotated center of mass Substituting the corresponding surface fitting equation of the total station reference feature, the centroid of the k-th lidar reference feature is obtained. Distance deviation to the corresponding total station reference feature , The formulas for calculating the translation amounts along the x, y, and z axes are as follows: (f) Based on the translation amount of each axis To translate and update the centroid of k lidar reference features Then update the centroid Substituting the corresponding surface fitting equation of the total station reference feature, we can find the centroid of the k-th lidar reference feature. Distance deviation to the corresponding total station reference feature ; (g) If Then the translation of the x-axis Translation of the y-axis Translation of the z-axis Find the current optimal translation amount for the lidar point cloud and proceed to step (h); otherwise, continue to calculate the translation amounts for the x-axis, y-axis, and z-axis. Then proceed to step six until the optimal global translation of the LiDAR point cloud is found. ; (h) Based on To translate the lidar data and then update the lidar point cloud data; (i) Each time, take the last few iterations. The results are analyzed. If the baseline feature conditions are met, the baseline feature is shrunk. Otherwise, the iteration continues until convergence or the maximum number of iterations is reached before exiting the iteration.
2. The indoor positioning method for lidar based on vector weights according to claim 1, characterized in that, Step S2 includes: S21: Fixed-point scanning of the on-site environment and generation of multiple frames of lidar point cloud data from different perspectives; S22: Stitch together multiple frames of lidar point cloud data from different perspectives; S23: Remove redundant data from the original point cloud data of the LiDAR and construct the LiDAR point cloud data after point cloud preprocessing.
3. The indoor positioning method for lidar based on vector weights according to claim 2, characterized in that, The point cloud preprocessing includes filtering operations.
4. The indoor positioning method for lidar based on vector weights according to claim 1, characterized in that, Step S3 specifically includes: rotating the total station point cloud projection map information clockwise 359 times with a step size of 1 degree around the rotation axis of the image center, and saving the map information at 0 degrees and after 359 rotations into 360 grid images respectively.
5. The indoor positioning method for lidar based on vector weights according to claim 1, characterized in that, The fitting process in S6 is specifically as follows: S61: For a point set in a 3D point cloud space, there exist N points And N>2, where N is the total number of points in the point set; The mean position of the point cloud set is obtained by averaging the values of N points in the 3D point cloud set. for , , These are the x-axis, y-axis, and z-axis coordinates of the i-th point, respectively. Then vector for Therefore, the first to sixth square components are xx, yy, zz, xy, xz, and yz, respectively, and the calculation formulas are as follows: ; S62: Let the square component matrix be Singular value decomposition of CM is performed using SVD. Among them, the third solution of the singular values is Let the vector parameter n = V, then , ; The equation of the fitted plane is obtained as follows: Where a is the first plane parameter, b is the second plane parameter, c is the third plane parameter, d is the fourth plane parameter, and the first singular value solution is U; S63: Substitute each point in the point cloud set into the equation to obtain the distance from the i-th point to the fitting plane. , like If the condition is met, then the point is a valid reference point in the point cloud set; otherwise, the point is not valid in the point cloud set. Distance threshold; S64: Perform surface fitting again on the reference points in the point cloud set that meet the requirements, and then obtain the updated fitting plane parameters a, b, c, d. Therefore, the updated fitting plane equation is: .