A point cloud correction method for rotating laser scanners
By performing online error estimation and rotation axis angle-error mapping table or curve fitting after powering on the rotary laser scanner, the problem of point cloud distortion of the rotary laser scanner is solved, significantly improving the accuracy of point cloud data and the accuracy of three-dimensional modeling.
Patent Information
- Application Number
- CN202411744083.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-08
- Publication Date
- 2025-04-04
AI Technical Summary
Point cloud distortion caused by factors such as speed fluctuations and installation errors during the scanning process affects the accuracy of three-dimensional modeling and dimensional measurement.
A point cloud correction method for a rotary laser scanner is adopted. By conducting online error estimation in a short time after power-starting on the device, a mapping table or curve fitting of rotation axis angle-error is constructed to achieve correction of subsequent point cloud frames.
Effectively eliminate point cloud distortion, significantly improve the accuracy of point cloud data, improve the accuracy of three-dimensional modeling and dimensional measurement, and simplify data processing flow and improve efficiency.
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] The invention relates to the field of laser point cloud processing, and in particular to a point cloud correction method for a rotary laser scanner. Background Art
[0002] As a high-precision and high-efficiency measurement tool, 3D laser scanners have been widely used in many fields, such as 3D building modeling, geological disaster monitoring, and parts inspection, which not only improves work efficiency but also reduces labor costs. The development of SLAM technology enables 3D laser scanners to determine their own position and direction in real time during the scanning process and build a 3D map of the surrounding environment. It can also achieve rapid data collection and processing in unknown or changing environments, which is especially suitable for scenarios that require rapid response. Among them, the rotary laser scanner equips the radar with a rotating head to achieve 360-degree all-round scanning, which can eliminate scanning blind spots more simply and efficiently and obtain complete 3D data of the surrounding environment, and is therefore favored by the market.
[0003] like Figure 1 As shown in the figure, a rotating laser scanner is usually composed of a multi-line laser radar, an IMU fixed to the radar, a rotating motor, a computing unit, and a power supply module. After power-on, the laser radar and the IMU rotate around a fixed axis, which is assumed to be the X-axis of the radar coordinate system. In theory, the motor rotation axis should be designed to completely coincide with the X-axis of the radar coordinate system for best results. However, in actual engineering, there may be installation errors in both the laser radar and the motor shaft, resulting in the two being unable to be completely consistent, and further spreading to subsequent positioning or modeling modules, affecting the final modeling accuracy. Summary of the invention
[0004] The present invention discloses a point cloud correction method for a rotary laser scanner, which mainly aims at point cloud distortion caused by factors such as speed fluctuation and installation error of the scanner, realizes a fully automated point cloud correction process, effectively improves the accuracy of point cloud data, and helps to improve the accuracy of applications such as three-dimensional modeling and dimension measurement. The method completes the online estimation of the error in a very short time after each device is powered on, without the need for prior calibration, and is simple and efficient. The method includes:
[0005] The laser scanner is powered on when it is stationary;
[0006] The laser radar module starts to rotate and collects laser point cloud frames that rotate at least one circle to estimate the rotation axis error, including translation error and attitude error;
[0007] Constructing a rotation axis angle-error mapping table and / or a rotation axis angle-error curve fitting;
[0008] The subsequent laser point cloud frames are corrected and positioning or modeling is started in the area to be measured.
[0009] Optionally, collecting laser point cloud frames that rotate at least one circle to estimate the rotation axis error includes:
[0010] Obtain the rotation angle θ(k) of the rotary motor at the time corresponding to the k-th frame (k=1, 2, ..., N) of the laser point cloud, where N is the total number of point cloud frames required for the rotation axis error estimation;
[0011] Starting from the second frame, frame-to-frame matching or frame-to-image matching with a historical frame set is performed to estimate the rotation axis error of the current frame. Optionally, the construction of a rotation axis angle-error mapping table and / or a rotation axis angle-error curve fitting includes: the mapping table is represented as The key value θ m The rotation angle of the rotating motor at the corresponding moment of the M-frame laser point cloud is selected from the first N frames, and arranged from small to large, satisfying: 0≤θ1<…<θ M <2π; and are respectively the rotation axis translation error and attitude error corresponding to the M-frame laser point cloud of one rotation;
[0012] The curve fitting adopts a sine function to fit each component of the rotation axis error: Where x represents the rotation angle of the rotary motor at the corresponding moment of the previous N frames of laser point cloud, y represents the components of the translation error or the attitude error, r1, r2 and are the corresponding fitting parameters.
[0013] Optionally, the correcting of subsequent laser point cloud frames includes:
[0014] Obtaining the rotation angle θ(k) of the rotating motor at the time corresponding to the k-th frame (k=N+1, N+2, ...);
[0015] According to the rotation angle θ(k) of the rotary motor, use interpolation method from the mapping table, and / or substitute into the fitting curve to estimate the rotation axis error of the laser point cloud of the first frame;
[0016] Correct each point of the laser point cloud of the first frame.
[0017] Optionally, before the laser point cloud frame is subjected to rotation axis error estimation or correction, the following steps may also be included:
[0018] Invalid points are removed from the laser point cloud frame, including one or more of the following: points whose scanning distance exceeds a set threshold Rmax, points whose scanning distance is less than a set threshold Rmin, NaN points, and discrete points of voxel segmentation filtering.
[0019] The above technical solution of the present invention has at least the following beneficial effects:
[0020] (1) Improving the accuracy of point cloud data: This method can effectively eliminate the point cloud distortion caused by factors such as rotation speed fluctuation and installation error during the scanning process of the rotary laser scanner, thereby significantly improving the accuracy of the point cloud data and helping to improve the accuracy of applications such as 3D modeling and dimensional measurement.
[0021] (2) Enhanced data processing efficiency: This method implements an automatic and simple point cloud correction process, reduces the workload of manual intervention and post-correction, and improves data processing efficiency.
[0022] (3) Improving the application scope of the scanner: After adopting this method, the rotary laser scanner can work stably in more complex environments, such as high temperature, high humidity, strong electromagnetic interference, etc., expanding the application field of the scanner. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 A schematic diagram of a rotating laser scanner structure provided by the present invention from top view and side view;
[0024] Figure 2 A schematic flow chart of a point cloud correction method for a rotating laser scanner provided in the first embodiment of the present invention;
[0025] Figure 3 A schematic flow chart of a point cloud correction method for a rotating laser scanner provided in Embodiment 2 of the present invention. DETAILED DESCRIPTION
[0026] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0027] Figure 2 FIG. 1 is a flow chart of a point cloud correction method for a rotating laser scanner provided in Embodiment 1 of the present invention. Figure 2 As shown, the following steps are included:
[0028] S101: The laser scanner is powered on when it is stationary;
[0029] S102: The laser radar module starts to rotate and collects laser point cloud frames that rotate at least one circle to estimate the rotation axis error, including translation error and attitude error;
[0030] S103: constructing a rotation axis angle-error mapping table and / or a rotation axis angle-error curve fitting;
[0031] S104: Correct the subsequent laser point cloud frames and start positioning or modeling in the area to be measured.
[0032] In this embodiment, the laser scanner at least includes: a multi-line laser radar module, a rotating motor module, a computing unit and a power supply unit. The multi-line laser radar is fixedly mounted on the rotating motor, and in theoretical design, the X-axis or Y-axis of its radar coordinate system should coincide with the central axis of the rotating motor; the data lines of the multi-line laser radar and the rotating motor are connected to the computing unit, which is responsible for error estimation and correction of the collected laser point cloud data, SLAM positioning and mapping, and control and monitoring of the rotating motor; the power supply unit provides power for the above modules.
[0033] In this embodiment, before the laser point cloud frame is estimated or corrected for the rotation axis error, it can also include: removing invalid points from the laser point cloud frame, including one or more of the following: points whose scanning distance exceeds the set threshold Rmax, points whose scanning distance is less than the set threshold Rmin, NaN points, and discrete points of voxel segmentation filtering.
[0034] Figure 2 The flowchart of a point cloud correction method for a rotating laser scanner provided in the second embodiment of the present invention is shown in FIG. Figure 2 As shown, the following steps are included:
[0035] S201: Power on the laser scanner when it is stationary;
[0036] S202: The laser radar module starts to rotate, and collects the laser point cloud data of the kth frame and the rotation angle θ(k) of the rotary motor at the corresponding moment;
[0037] S203: Determine whether k is less than or equal to a set threshold N. If so, proceed to step S204; otherwise, proceed to step S207;
[0038] S204: Perform frame-to-frame matching on the laser point cloud of the kth frame or perform frame-to-image matching with a historical frame set to estimate the rotation axis error of the current frame, including the translation error. and attitude error
[0039] S205: Determine whether k is equal to a set threshold N, if so, proceed to step S206, otherwise, proceed to step S208;
[0040] S206: Construct a rotation axis angle-error mapping table and / or a rotation axis angle-error curve fitting, and proceed to step S208; S207: Correct the laser point cloud of the kth frame, and start positioning or modeling in the area to be measured. S208: Frame identifier k is increased by 1, and proceed to the next frame processing.
[0041] In this embodiment, the threshold N is set to the total number of frames corresponding to at least one rotation of the laser radar module. Assuming that the radar point cloud scanning frequency is F L Hertz, the period of one motor rotation is T S seconds, then N satisfies: N ≥ F L ·T S .
[0042] In this embodiment, the step 204 of performing frame-to-frame matching on the laser point cloud of the kth frame or performing frame-to-image matching with a historical frame set to estimate the rotation axis error of the current frame includes:
[0043] 1) According to the rotation angle θ(k) of the rotating motor, estimate the attitude angle (Rx(k), Ry(k), Rz(k)) of the laser point cloud at the corresponding time of the kth frame (k=1,2,…,N). If the rotation axis of the rotating motor is designed to coincide with the X-axis of the laser radar, Rx(k) is the rotation angle, and Ry(k) and Rz(k) are set to 0; if the rotation axis of the rotating motor is designed to coincide with the Y-axis of the radar, Ry(k) is the rotation angle, and Rx(k) and Rz(k) are set to 0.
[0044] 2) Starting from k ≥ 2, perform frame-to-frame matching or frame-to-image matching with the historical frame set to estimate the rotation axis error of the current frame, including the translation error Attitude Error The specific method of the frame-to-frame matching or the frame-to-image matching can be point-to-point ICP, point-to-plane ICP or other variants of ICP, which are not specifically limited here. If the frame-to-frame matching is adopted, the source point cloud is the original point or feature point of the laser point cloud of the kth frame, the target point cloud is the original point or feature point of the laser point cloud of the k-1th frame, the translation amount of the initial conversion pose is (0,0,0), and the rotation amount is (Rx(k)-Rx(k-1),0,0). The conversion pose increment obtained by matching is then superimposed on the rotation axis error of the k-1th frame to obtain the rotation axis error of the kth frame. If the frame-image matching is adopted, the source point cloud is the original point or feature point of the k-th frame laser point cloud, the target point cloud is the original point or feature point of the previous (k-1) frame laser point cloud, the translation of the initial conversion pose is (0,0,0), and the rotation is (0,Ry(k)-Ry(k-1),0). The conversion pose increment obtained by matching is the rotation axis error of the k-th frame.
[0045] In this embodiment, the construction of the rotation axis angle-error mapping table and / or the rotation axis angle-error curve fitting in step S206 includes: if the mapping table is used, it is expressed as The key value θ m To select the rotation angle of the rotating motor corresponding to one rotation of M frames from the first N frames, and arrange them from small to large: 0≤θ1<…<θM <2π; value and are the translation error and the attitude error corresponding to the laser point cloud of M frames rotating for one week respectively. If the curve fitting is adopted, each error component can be fitted by a sine function: Where x is the rotation angle of the rotating motor, y is the axis component of the translation error or the attitude error, r1, r2 and are the parameters to be fitted.
[0046] In this embodiment, the correction of the laser point cloud of the kth frame in step S207 specifically includes:
[0047] 1) according to the rotation angle θ(k) of the rotary motor, using the interpolation method from the rotation axis angle-error mapping table, estimating the rotation axis error of the k-th frame laser point cloud; and / or substituting it into the rotation axis angle-error fitting curve to estimate the rotation axis error of the k-th frame laser point cloud.
[0048] If we use interpolation, we can find two angles adjacent to θ(l) and assume that and The rotation axis error of the k-th frame laser point cloud can be expressed as:
[0049]
[0050]
[0051] Here are two ways to determine the value of weight w:
[0052] Method 1:
[0053]
[0054] Method 2:
[0055]
[0056] Among them, Δθ(k) and They are defined as follows:
[0057]
[0058]
[0059] 2) Correct each point of the k-th frame laser point cloud according to the following formula:
[0060]
[0061] Among them, R θis the transformation matrix corresponding to the attitude angle (Rx(k), Ry(k), Rz(k)) of the laser point cloud at the corresponding moment of the k-th frame (k=1,2,…,N), is the attitude error corresponding to the laser point cloud of the kth frame (k=1,2,…,N) The corresponding transformation matrix.
[0062] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A point cloud correction method for a rotating laser scanner, comprising the following steps: The laser scanner is powered on when it is stationary; The laser radar module starts to rotate and collects laser point cloud frames that rotate at least one circle to estimate the rotation axis error, including translation error and attitude error; Constructing a rotation axis angle-error mapping table and / or a rotation axis angle-error curve fitting; The subsequent laser point cloud frames are corrected and positioning or modeling is started in the area to be measured.
2. The method according to claim 1, characterized in that The collecting of laser point cloud frames that rotate at least one circle to estimate the rotation axis error includes: Obtain the rotation angle of the rotary motor at the time corresponding to the k-th frame (k=1, 2, ..., N) of the laser point cloud, where N is the total number of point cloud frames required for the rotation axis error estimation; Starting from the second frame, frame-to-frame matching or frame-to-image matching with a historical frame set is performed to estimate the rotation axis error of the current frame.
3. The method according to claim 1, characterized in that The constructing of a rotation axis angle-error mapping table and / or a rotation axis angle-error curve fitting comprises: The mapping table is represented by {}, where the key value is the rotation angle of the rotary motor at the corresponding moment of the M-frame laser point cloud selected from the first N frames, and arranged from small to large, satisfying: ; and are respectively the rotation axis translation error and attitude error corresponding to the M-frame laser point cloud of one rotation; The curve fitting adopts a sine function to fit each component of the rotation axis error: , where x represents the rotation angle of the rotating motor at the corresponding moment of the previous N frames of laser point cloud, y represents each component of the translation error or the posture error, and , and are corresponding fitting parameters.
4. The method according to claim 1, characterized in that The correction of the subsequent laser point cloud frame includes: Obtaining the rotation angle of the rotating motor at the time corresponding to the k-th frame (k=N+1, N+2, ...) of the laser point cloud; According to the rotation angle of the rotary motor, using interpolation method from the mapping table, and / or substituting into the fitting curve, the rotation axis error of the laser point cloud of the first frame is estimated; Correct each point of the laser point cloud of the first frame.
5. The method according to claim 1, characterized in that: Before the laser point cloud frame performs rotation axis error estimation or corrects subsequent laser point cloud frames, the following steps may also be included: Invalid points are removed from the laser point cloud frame, including one or more of the following: points whose scanning distance exceeds a set threshold Rmax, points whose scanning distance is less than a set threshold Rmin, NaN points, and discrete points of voxel segmentation filtering.