Laser radar correction method and device, equipment and medium
By registering the scanning point cloud data of the lidar under the optical tracking system, a correction function is generated to compensate for systematic errors, which solves the problem of errors in measurement accuracy and accuracy of lidar in complex environments, and achieves high-precision measurement results.
Patent Information
- Application Number
- CN202510133287.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-06
- Publication Date
- 2025-05-27
AI Technical Summary
There are errors in measurement accuracy and accuracy in complex dynamic environments, which are affected by factors such as specular and diffuse reflection of the reflective surface, changes in ambient light intensity, target material, and sensor itself.
By registering the scanned point cloud data of the lidar under an optical tracking system, reference and target point cloud data are generated, and correction functions are generated based on these data to compensate for systematic errors.
Improves the measurement accuracy of lidar and can provide up to millimeter-level accuracy in complex environments, enhancing the reliability and flexibility of measurement results.
Smart Images

Figure CN120044505A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of three-dimensional sensing, and particularly to a method, device, equipment and medium for correcting a lidar. Background Art
[0002] Lidar is a key three-dimensional sensing technology, which is widely used in fields such as robots, autonomous driving, and industrial inspection. Its working principle is to measure the distance of an object by emitting a laser beam and receiving the reflected light, and then construct a three-dimensional model of the surrounding environment. Lidar can provide high-resolution point cloud data, making it play a crucial role in these fields.
[0003] Although lidar technology performs well in many applications, its measurement accuracy and precision are not perfect. In practical applications, the measurement results of lidar are affected by a variety of factors, resulting in errors. These error sources include specular reflection and diffuse reflection of the reflection surface, ambient light intensity changes, target materials, and the characteristics of the sensor itself.
[0004] In a complex dynamic environment, the coupling effect of the above-mentioned multiple factors will further exacerbate the measurement error. For example, when an autonomous vehicle is driving at high speed, factors such as rapid changes in ambient light intensity, frequent appearance of different target materials, and mechanical vibration will pose higher requirements for the measurement accuracy of lidar. Therefore, there is room for improvement. Summary of the Invention
[0005] The purpose of the present invention is to provide a method, device, equipment and medium for correcting a lidar, which can improve the measurement accuracy of the lidar.
[0006] To solve the above technical problems, the present invention is realized through the following technical solutions:
[0007] The present invention provides a method for correcting a lidar, including:
[0008] Scanning a target object in the surrounding environment by a laser scanner to obtain scanned point cloud data;
[0009] Scanning the target object in the surrounding environment by the lidar at different poses respectively to obtain corresponding initial point cloud data;
[0010] Registering the scanned point cloud data under an optical tracking system to generate corresponding reference point cloud data;
[0011] Registering the initial point cloud data at each pose respectively under the optical tracking system to generate corresponding target point cloud data;
[0012] Compare each of the target point cloud data with the reference point cloud data, and generate a correction function for the lidar based on all the comparison results.
[0013] In an embodiment of the present invention, the optical tracking system includes a plurality of cameras installed in the surrounding environment, the target object includes a calibration target, and the scanned point cloud data includes first target coordinate data of the calibration target in the scanning coordinate system; the step of registering the scanned point cloud data under the optical tracking system to generate corresponding reference point cloud data includes:
[0014] Scan the calibration target in the surrounding environment through the optical tracking system to obtain second target coordinate data of the calibration target in the optical tracking coordinate system;
[0015] Calculate a first transformation matrix of the scanning coordinate system and the optical tracking coordinate system according to the first target coordinate data and the second target coordinate data;
[0016] Transform the scanned point cloud data according to the first transformation matrix to generate reference point cloud data.
[0017] In an embodiment of the present invention, the step of registering the initial point cloud data at each pose respectively under the optical tracking system to generate corresponding target point cloud data includes:
[0018] Scan the lidar at different poses through the optical tracking system to obtain corresponding first lidar coordinate data in the optical tracking coordinate system;
[0019] Simulate different poses of the lidar, and obtain second lidar coordinate data of the lidar at different poses in the lidar coordinate system;
[0020] At different poses, calculate a second transformation matrix of the lidar coordinate system and the optical tracking system respectively according to the second lidar coordinate data and the corresponding first lidar coordinate data;
[0021] At different poses, transform the corresponding initial point cloud data according to the second transformation matrix to generate target point cloud data.
[0022] In an embodiment of the present invention, the step of comparing each of the target point cloud data with the reference point cloud data, and generating a correction function for the lidar based on all the comparison results includes:
[0023] Obtain reference distance data and reference signal data of a certain target object in the reference point cloud data relative to the laser scanner;
[0024] At each pose, obtain the incident angle of the lidar with respect to a certain target object, the corresponding measured distance data, and the corresponding reflected signal data;
[0025] Perform fitting processing on all the measured distance data and the corresponding reference distance data to generate a corresponding distance fitting function;
[0026] Perform fitting processing on all the reflected signal data and the corresponding reference signal data to generate a corresponding signal fitting function.
[0027] In an embodiment of the present invention, the step of comparing each of the target point cloud data with the reference point cloud data and generating a correction function of the lidar based on all the comparison results includes:
[0028] Obtain the reference distance data of each target object in the reference point cloud data with respect to the laser scanner;
[0029] At the same pose, obtain the measured distance data of each target object in the target point cloud data with respect to the lidar;
[0030] Perform fitting processing on all the measured distance data and the corresponding reference distance data to generate a corresponding distance fitting function.
[0031] In an embodiment of the present invention, the step of comparing each of the target point cloud data with the reference point cloud data and generating a correction function of the lidar based on all the comparison results includes:
[0032] Obtain the reference distance data of all target objects in the reference point cloud data with respect to the laser scanner;
[0033] At the same pose, obtain the measured distance data and the reflected signal data of all target objects in the target point cloud data obtained by lidars with different ring numbers with respect to the corresponding lidars;
[0034] At the same pose, calculate the difference between the reference distance data and the measured distance data of lidars with different ring numbers to generate distance deviation data;
[0035] At the same pose, calculate the ratio of the reference distance data and the measured distance data of lidars with different ring numbers to generate scaling data;
[0036] At the same pose, correct the measured distance data according to the distance deviation data and the scaling data to generate a distance correction function;
[0037] At the same pose, obtain the ring number fitting coefficients of lidars with different ring numbers, and perform fitting processing on the reflected signal data and the corresponding ring number fitting coefficients to generate a signal fitting function.
[0038] In an embodiment of the present invention, the step of comparing each piece of the target point cloud data with the reference point cloud data and generating a correction function of the lidar based on all the comparison results includes:
[0039] Obtaining reference signal data of all target objects in the reference point cloud data;
[0040] Obtaining reflection signal data of all target objects in the target point cloud data in the same pose;
[0041] Calculating the difference between the reference signal data and the reflection signal data of each target object in the same pose to generate signal deviation data;
[0042] Calculating the standard deviation of all the signal deviation data in the same pose to generate corresponding standard deviation data;
[0043] Performing fitting processing according to the reflection signal data and the corresponding standard deviation data in the same pose to generate a signal fitting function.
[0044] The present invention also provides a correction device for a lidar, including:
[0045] A high-precision scanning module for scanning target objects in the surrounding environment to obtain scanned point cloud data;
[0046] A to-be-tested scanning module for scanning target objects in the surrounding environment respectively in different poses to obtain corresponding initial point cloud data;
[0047] A first registration module for registering the scanned point cloud data under an optical tracking system to generate corresponding reference point cloud data;
[0048] A second registration module for registering the initial point cloud data in each pose respectively under the optical tracking system to generate corresponding target point cloud data;
[0049] A correction module for comparing each piece of the target point cloud data with the reference point cloud data and generating a correction function of the lidar based on all the comparison results.
[0050] The present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the correction method of the lidar are implemented.
[0051] The present invention also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, characterized in that when the computer program is executed by a processor, the steps of the correction of the lidar are implemented.
[0052] As described above, the present invention provides a method, apparatus, device, and medium for correcting a lidar, which not only considers the influence of a single factor, but also systematically analyzes the influence of multiple factors on the data accuracy of the lidar. These factors include different incident angles, ambient light changes, and systematic errors inside the sensor. Through parametric modeling, the influence of these factors on the measurement results can be more accurately described. By using a high-precision terrestrial laser scanner as a reference, the reliability of the calibration process is ensured. Using these reference data, the measurement errors of the lidar can be accurately evaluated and corrected. By establishing and applying a correction function, the systematic errors caused by different environmental factors and sensor characteristics can be effectively compensated. This enables the final measurement results to reach millimeter-level accuracy. The present invention no longer relies on a specific target for calibration, but analyzes and corrects errors through systematic experimental and modeling methods. This makes the calibration process more flexible and applicable to different environments and application scenarios. By analyzing in detail the influence of different environmental factors (such as incident angles, ambient light, etc.) on the measurement results, this method can improve the measurement reliability of the lidar in complex environments. Effective suppression strategies are proposed, such as suppressing the influence of ambient light changes on the lidar received signal through light intensity measurement and calibration techniques, ensuring high-precision measurement results under various environmental conditions.
[0053] Of course, it is not necessary for any product implementing the present invention to achieve all the above-mentioned advantages simultaneously. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0055] Figure 1 It is a flowchart of the method for correcting a lidar in an embodiment of the present invention;
[0056] Figure 2 It is a schematic diagram of the apparatus for correcting a lidar in an embodiment of the present invention;
[0057] Figure 3 It is a schematic diagram of an electronic device in an embodiment of the present invention.
[0058] In the figure: 1, electronic device; 12, memory; 13, processor; 100, high-precision scanning module; 200, to-be-measured scanning module; 300, first registration module; 400, second registration module; 500, correction module. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0059] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0060] Please refer to Figure 1 , the present invention discloses a correction method for a lidar, and the correction method can be applied to the lidar for its correction. The correction method may include the following steps:
[0061] Step S10: Scan the target objects in the surrounding environment through a laser scanner to obtain scanned point cloud data;
[0062] Step S20: Scan the target objects in the surrounding environment through the lidar at different poses respectively to obtain corresponding initial point cloud data;
[0063] Step S30: Register the scanned point cloud data under an optical tracking system to generate corresponding reference point cloud data;
[0064] Step S40: Register the initial point cloud data at each pose under the optical tracking system respectively to generate corresponding target point cloud data;
[0065] Step S50: Compare each target point cloud data with the reference point cloud data, and generate a correction function for the lidar based on all comparison results.
[0066] In some embodiments, when step S10 is executed, specifically, a laser scanner (such as FARO Focus X330) precisely scans different types of objects and surfaces in the surrounding environment to generate high-precision scanned point cloud data. The scanned point cloud data is a set of a large number of points obtained through three-dimensional scanning technology. Each point contains three-dimensional coordinate (X, Y, Z) information, and in some cases additional color (RGB) or reflectivity information, which is used to accurately describe the surface characteristics and spatial positions of the objects. The laser scanner can ensure the accuracy of the point cloud data, reaching millimeter-level precision. The target objects in the surrounding environment may include, but are not limited to, wood, paper, multi-color plastic sheets, foam, wallpaper, static stickers, whiteboards, curtains, cabinets, floors, and ceilings, etc.
[0067] In some embodiments, when step S20 is executed, specifically, a Light Detection and Ranging (LiDAR) can measure the distance to a target object by emitting laser pulses and detecting the return time of these pulses. In this way, the LiDAR can create initial point cloud data of the surrounding environment. The initial point cloud data is composed of a large number of points in three-dimensional space, and each point carries distance information.
[0068] In some embodiments, the LiDAR can be installed on a robotic arm. By rotating each joint of the robotic arm around the center, the pose of the LiDAR can be adjusted. At the same time, the robotic arm can be installed on a mobile platform, and the mobile platform can drive the robotic arm to translate, thereby enabling the pose of the LiDAR to be adjusted within a larger range. Here, the pose refers to the position and orientation (direction) of the LiDAR in three-dimensional space. Scanning at different poses means that the LiDAR scans the target object in the same scene from multiple different angles or positions.
[0069] In some embodiments, when step S30 is executed, the scanned point cloud data includes first target coordinate data of the calibration target in the scanning coordinate system. Specifically, step S30 may include the following steps:
[0070] Step S31: Scan the calibration target in the surrounding environment through an optical tracking system to obtain second target coordinate data of the calibration target in the optical tracking coordinate system;
[0071] Step S32: Calculate the first transformation matrix of the corresponding scanning coordinate system and optical tracking coordinate system according to the first target coordinate data and the second target coordinate data;
[0072] Step S33: Transform the scanned point cloud data according to the first transformation matrix to generate reference point cloud data.
[0073] In some embodiments, when step S31 is executed, specifically, the optical tracking system is a technology that uses a vision sensor (such as a camera) to monitor and track the position and orientation of a target in space. The optical tracking system can be composed of multiple cameras installed in the surrounding environment. The positions and angles of the cameras are carefully designed to ensure that multi-view information of the calibration target can be captured. In addition, the optical tracking system also includes processing software for analyzing the data captured by the cameras and calculating the precise position and orientation of the calibration target, that is, obtaining the second target coordinate data of the calibration target in the optical tracking coordinate system. The second target coordinate data refers to the position and orientation data of the calibration target captured by the optical tracking system in the coordinate system defined by the optical tracking system.
[0074] In some embodiments, the calibration target is an object with known geometric features, such as an object with a fixed shape and size (such as a sphere, etc.), which is used to help the optical tracking system perform precise calibration. For example, by designing and 3D printing a calibration target, the calibration target can include two optical tracking marker points and a terrestrial laser scanner registration sphere. The optical tracking marker points and the terrestrial laser scanner registration sphere can be spherical, and the sizes and spacings of the optical tracking marker points and the terrestrial laser scanner registration sphere are known.
[0075] In some embodiments, when performing step S32, specifically, the first target coordinate data is the coordinate data of the calibration target in the scanning coordinate system obtained by the laser scanner. The second target coordinate data is the coordinate data of the calibration target in the optical tracking coordinate system obtained by the optical tracking system. The first transformation matrix can be used to transform the data in the scanning coordinate system to the optical tracking coordinate system. The purpose of calculating the first transformation matrix is to align the scanning coordinate system and the optical tracking coordinate system so that the data between them can be mutually transformed.
[0076] In some embodiments, the specific steps of calculating the first transformation matrix may include operations of registering and solving transformation parameters. Registration refers to using a point cloud registration algorithm (such as the ICP - Iterative Closest Point algorithm) to align the first target coordinate data with the second target coordinate data. The registration algorithm will find the best match between the two sets of data to minimize the difference between them. Solving the transformation parameters means calculating the translation and rotation parameters through the aligned data, and these parameters can be combined into a 4x4 transformation matrix (i.e., the first transformation matrix) for transforming the point cloud data in the scanning coordinate system to the optical tracking coordinate system.
[0077] In some embodiments, when performing step S33, specifically, using the calculated first transformation matrix, the scanned point cloud data can be transformed from the scanning coordinate system to the optical tracking coordinate system, that is, the scanned point cloud data is translated and rotated in space so that it has a consistent position and orientation in the optical tracking coordinate system, and finally reference point cloud data is generated.
[0078] In some embodiments, when performing step S40, specifically, step S40 may include the following steps:
[0079] Step S41: Scan the lidar in different poses through the optical tracking system to obtain the first lidar coordinate data in the corresponding optical tracking coordinate system;
[0080] Step S42: Simulate different poses of the lidar and obtain the second lidar coordinate data of the lidar in different poses in the lidar coordinate system;
[0081] Step S43: At different poses, calculate the second transformation matrix between the radar coordinate system and the optical tracking system respectively according to the second radar coordinate data and the corresponding first radar coordinate data.
[0082] Step S44: At different poses, transform the corresponding initial point cloud data respectively according to the second transformation matrix to generate target point cloud data.
[0083] In some embodiments, when performing step S41, specifically, the lidars with different poses refer to the lidars at different positions and in different directions. At each different pose, the position and attitude data of the lidar captured by the optical tracking system in the optical tracking coordinate system, that is, the first radar coordinate data.
[0084] In some embodiments, when performing step S42, specifically, simulating different poses of the lidar refers to determining the position and attitude of the lidar at different poses through calculation or experiment. These poses can be pre-designed or recorded during actual operation. The second radar coordinate data refers to the position and attitude data describing the lidar at different poses in the lidar coordinate system. The second radar coordinate data is relative to the coordinate system of the lidar itself.
[0085] In some embodiments, each joint of the robotic arm can rotate around its central axis. Each joint of the robotic arm can be rotated separately to form a circular trajectory. Subsequently, the optical tracking system can be used to record the motion trajectory formed by each joint during rotation. Through the recorded motion trajectory data, the radius of each circle is fitted. This radius is the length of the corresponding joint. Through the above method, the lengths of the respective joints of the robotic arm can be accurately calibrated, thereby obtaining an accurate model of the robotic arm.
[0086] In some embodiments, subsequently, an accurate model of the robotic arm and a model of the lidar can be established in CAD software. In the CAD model, the relative position and attitude of the lidar installed on the end flange of the robotic arm can be measured, because the actual installation position and attitude of the lidar will affect the relationship between its coordinate system and the robotic coordinate system. Finally, the second radar coordinate data of the lidar relative to its own coordinate system at different poses can be determined using the data measured by CAD.
[0087] In some embodiments, when step S43 is executed, specifically, the second transformation matrix can be used to transform the data in the lidar coordinate system into the data in the optical tracking coordinate system. By comparing the first lidar coordinate data captured by the optical tracking system and the second lidar coordinate data in the lidar's own coordinate system, the second transformation matrix for each pose can be calculated. The calculation methods of the second transformation matrix can include, but are not limited to, point cloud registration algorithms, least squares methods, SVD (Singular Value Decomposition), etc. Among them, for point cloud registration algorithms, algorithms such as ICP (Iterative Closest Point) can be used to calculate the second transformation matrix by finding the best match between two sets of data. The least squares method can solve the second transformation matrix by minimizing the error between corresponding points in two coordinate systems. SVD can calculate the rotation and translation parameters by performing singular value decomposition on the covariance matrix of the data in two coordinate systems.
[0088] In some embodiments, when step S44 is executed, specifically, at different poses, the corresponding initial point cloud data can be transformed respectively according to the second transformation matrix to generate target point cloud data. Among them, the initial point cloud data refers to the point cloud data generated by the lidar scanning the surrounding environment at different poses. The initial point cloud data is relative to the lidar's own coordinate system. The target point cloud data refers to the target point cloud data in the optical tracking coordinate system generated by applying the second transformation matrix to transform the initial point cloud data from the lidar coordinate system to the optical tracking coordinate system.
[0089] In some embodiments, when step S50 is executed, the errors measured by the lidar may have multiple aspects of influence, such as the influence of the incident angle, the influence of the distance, the influence of the ring number, the influence of the relationship between intensity and error, etc.
[0090] In some embodiments, the incident angle refers to the angle at which the laser beam is incident on the target surface. When the incident angle is large, the measurement accuracy of the lidar will decrease. Specifically, when the laser beam irradiates the target surface at a large incident angle, the spot area will increase, resulting in some light being scattered in non-desired directions. This will reduce the intensity of the effective reflected signal received by the receiver. A large incident angle will also cause the effective detection distance of the laser beam to shorten because the beam needs to travel a longer path to return to the sensor, increasing the probability of signal attenuation and scattering.
[0091] In some embodiments, the distance refers to the distance between the lidar and the target object. Different distances can cause changes in the measurement accuracy of the lidar, and it is necessary to select an appropriate measurement distance range according to the specific model and working environment. Specifically, due to differences in their internal structures, characteristics of electronic components, and signal processing algorithms, different models of lidars may exhibit different accuracy characteristics at different measurement distances. Some lidars have high accuracy in close-range measurements, but as the distance increases, the accuracy gradually decreases. Other lidars may exhibit the best accuracy within a specific distance range.
[0092] In some embodiments, the ring number refers to the number of different laser beams in a multi-line lidar. A multi-line lidar can emit multiple laser beams simultaneously, and each laser beam corresponds to a ring number. The measurement data of different ring numbers may have different accuracies, and calibration and compensation are required to reduce systematic errors. Specifically, there may be slight differences in the emission, reception, and internal signal processing of laser beams with different ring numbers, resulting in different systematic errors in the measurement data of different ring numbers. These errors usually manifest as fixed biases or scale differences.
[0093] In some embodiments, the intensity refers to the intensity of the reflected signal received by the lidar. The intensity of the reflected signal affects the measurement accuracy of the lidar, and data points with high intensity are usually more reliable. Specifically, the intensity of the reflected signal received by the lidar reflects to a certain extent the reliability of the measurement point. Generally, measurement points with higher intensity have higher accuracy because the signal is stronger and less affected by noise interference. Measurement points with lower intensity may be more affected by noise interference, resulting in a decrease in measurement accuracy.
[0094] In some embodiments, the lidar can be corrected from the above different directions. For example, when correcting from the direction of the influence of the incident angle, step S50 may include the following steps:
[0095] Step S511: Obtain the reference distance data and reference signal data of a certain target object in the reference point cloud data relative to the laser scanner;
[0096] Step S512: At each pose, obtain the incident angle of the lidar relative to a certain target object, the corresponding measurement distance data, and the corresponding reflected signal data;
[0097] Step S513: Perform fitting processing on all the measurement distance data and the corresponding reference distance data to generate a corresponding distance fitting function;
[0098] Step S514: Perform fitting processing on all the reflected signal data and the corresponding reference signal data to generate a corresponding signal fitting function.
[0099] In some embodiments, when performing step S511, specifically, the reference distance data refers to the precise distance from a specific target object to the lidar. The reference signal data refers to the precise reflected signal intensity from a specific target object.
[0100] In some embodiments, when performing step S512, specifically, the incident angle refers to the angle between the laser beam emitted by the lidar and the normal of the surface of a specific target object. The measured distance data refers to the distance from a specific target object measured by the lidar to the lidar. The reflected signal data refers to the reflected signal intensity of a specific target object measured by the lidar.
[0101] In some embodiments, calculating the incident angle requires combining the scanning mode of the lidar and the pose of the lidar. The scanning mode refers to the different ways in which the lidar scans the target object. Common ones include mechanical scanning and solid-state lidar. The pose of the lidar refers to the attitude information of the lidar at different positions and directions. The attitude information can include the position (coordinates) and direction (attitude matrix or Euler angles) of the lidar.
[0102] In some embodiments, for calculating the incident angle of a mechanically scanned lidar, the outgoing direction vector can be calculated through the attitude and scanning angle of the lidar, and then the dot product calculation is performed with the normal vector of the target surface. Specifically, a mechanically scanned lidar can change the outgoing direction of the laser beam by rotating a mirror or other mechanical devices. The outgoing direction vector of the laser beam can be determined through the attitude and scanning angle of the lidar. The normal direction vector of the target object surface can be known in advance or calculated by measuring the point cloud data. The incident angle is the angle between the outgoing direction vector of the laser beam and the normal vector of the target surface, and can be calculated through the dot product formula.
[0103] In some embodiments, for calculating the incident angle of a solid-state lidar, the direction vector can be deduced through the calibration information and pixel coordinates of the lidar, and then the dot product calculation is performed with the normal vector of the target surface. Specifically, a solid-state lidar usually does not rely on mechanical movement, but realizes multi-directional scanning through optical elements and sensor arrays. The calibration information includes parameters of internal optical elements, the mapping relationship between pixels and actual directions, etc. Each pixel of the solid-state lidar corresponds to a specific direction. Given a pixel coordinate, the direction vector corresponding to the pixel can be deduced through the calibration information. The normal direction vector of the target object surface can be known in advance or calculated by measuring the point cloud data. The incident angle is the angle between the direction vector corresponding to the pixel and the normal vector of the target surface, and can be calculated through the dot product formula.
[0104] In some embodiments, when performing step S513, specifically, the distance fitting function can be expressed as f(θ), Rcorrected = R raw × f(θ), where R corrected can represent reference distance data, and R raw can represent measured distance data, and θ represents the incident angle of the laser beam. The distance fitting function can be a non - linear correction function related to the incident angle. In this embodiment, a high - order polynomial can be used to construct the distance fitting function f(θ), f(θ)= a 0 + a 1 θ + a 2 θ 2 + a 3 θ 3 +…+ a n θ n , where a 0 , a 1 , a 2 ,…, a n are the coefficients of the polynomial, and n is the order of the polynomial.
[0105] In some embodiments, the higher the order of the polynomial, the stronger its ability to fit non - linear relationships, but at the same time, more calibration data is required to determine the coefficients. A high - order polynomial can better fit complex non - linear relationships because there are more degrees of freedom to adapt to data changes. As the order of the polynomial increases, the number of coefficients to be determined also increases. To accurately determine these coefficients, more calibration data points are needed. Insufficient data points may lead to overfitting or unstable fitting results. In practical applications, the appropriate order of the polynomial can be selected according to the specific lidar model and application scenario.
[0106] In some embodiments, different models of lidar may have different measurement error characteristics. Selecting the appropriate order of the polynomial needs to consider the internal structure and calibration of the lidar. Different application scenarios will also affect the selection of the fitting function. For example, if the application scenario has very high requirements for distance measurement accuracy, a higher - order polynomial may need to be selected to better fit the error. If the application scenario is relatively simple, a low - order polynomial may be sufficient.
[0107] In some embodiments, to determine the coefficients of the polynomial model, a refined calibration experiment can be carried out. For example, the true three - dimensional information of the target surface can be obtained by a terrestrial laser scanner. Subsequently, the lidar system to be calibrated can be used to scan the same target surface multiple times at different incident angles, while recording the measurement results at each incident angle, including measured distance data and reflection signal intensity. Finally, curve fitting methods such as the least - squares method can be used to determine the optimal coefficients of the polynomial model, so that the deviation between the error predicted by the polynomial model and the actual error is minimized.
[0108] In some embodiments, when performing step S514, specifically, the signal fitting function can be expressed as g(θ), I corrected = I raw × g(θ), where I corrected can represent the reference signal data, I raw can represent the reflected signal data, and θ represents the incident angle of the laser beam. The signal fitting function can be a non-linear correction function related to the incident angle. In this embodiment, a high-order polynomial can be used to construct the signal fitting function g(θ), g(θ) = b 0 + b 1 θ + b 2 θ 2 + b 3 θ 3 + … + b n θ n , where b 0 , b 1 , b 2 , …, b n are the coefficients of the polynomial, and n is the order of the polynomial. Among them, the method for determining the polynomial coefficients of the signal fitting function can be the same as that for determining the polynomial coefficients of the distance fitting function, which will not be elaborated here.
[0109] In some embodiments, the lidar can be corrected from the above different directions. For example, when correcting from the direction of the influence of distance, step S50 may include the following steps:
[0110] Step S521, obtain the reference distance data of each target object relative to the laser scanner in the reference point cloud data;
[0111] Step S522, obtain the measured distance data of each target object relative to the lidar in the target point cloud data at the same pose;
[0112] Step S523, perform fitting processing on all the measured distance data and the corresponding reference distance data to generate the corresponding distance fitting function.
[0113] In some embodiments, when performing step S521, specifically, by using a high-precision laser scanner, the true distance from the target object to the laser scanner, that is, the reference distance data, can be determined. For example, the three-dimensional coordinates of each target object can be extracted from the reference point cloud data, and its distance to the laser scanner can be calculated.
[0114] In some embodiments, when step S522 is executed, specifically, the three-dimensional coordinates of each target object can be extracted from the target point cloud data, and the distance from it to the lidar can be calculated, that is, the measured distance data. Among them, the target objects in the reference point cloud data and the target objects in the target point cloud data correspond to each other.
[0115] In some embodiments, when step S523 is executed, specifically, the accuracy characteristics of different models of lidar at different measurement distances. For example, different models of lidar may use different optical designs and sensors. Also, for example, the performance differences of electronic components will affect the transmission and processing of signals. Again, for example, different signal processing algorithms will result in different error characteristics. Therefore, the measurement error can be expressed as a function of the measured distance data, and the generated distance fitting function can be used to adapt to the error characteristics at different distances by fitting.
[0116] In some embodiments, the distance fitting function can be at least classified into a piecewise linear function and a polynomial function. The piecewise linear function can divide the measured distance data into several intervals, and a linear function is used to approximately describe the relationship between the error and the measured distance data within each interval. The piecewise linear function has the advantages of simplicity, intuitiveness, and easy implementation. The polynomial function can use a high-order polynomial to fit the relationship between the error and the measured distance data. The polynomial function can more accurately fit complex non-linear relationships.
[0117] In some embodiments, when the distance fitting function adopts a piecewise linear function, the distance fitting function D corrected , can be expressed as: D corrected = D raw + k i × D raw + b i , where D i-1 ≤ D raw ≤ D i , D i-1 and D i are respectively the boundaries of the i-th distance interval, k i and b i are respectively the slope and intercept of the distance fitting function of the i-th distance interval, D raw represents the measured distance data, and D corrected can be expressed as the reference distance data.
[0118] In some embodiments, when the distance fitting function adopts a polynomial function, the distance fitting function D corrected , can be expressed as: Among them, D raw represents the measured distance data, D corrected can be expressed as the reference distance data, c 0,c 1 ,c 2 ,…,c p are the coefficients of the polynomial, and p is the order of the polynomial.
[0119] In some embodiments, the parameters k i , b i , c 0 , c 1 , c 2 ,…, c p need to be calibrated for a specific lidar model. For example, the least squares method or other fitting methods can be used to fit the measured distance data with the corresponding reference distance data to generate a piecewise linear function and a polynomial function. The method for determining the polynomial coefficients of the distance fitting function can be the same as the method in the above steps and will not be elaborated here.
[0120] In some embodiments, the lidar can be corrected from the above different directions. For example, when correcting from the influencing direction of the ring number, step S50 may include the following steps:
[0121] Step S531, obtain the reference distance data of all target objects in the reference point cloud data relative to the laser scanner;
[0122] Step S532, at the same pose, obtain the measured distance data and reflection signal data of all target objects in the target point cloud data obtained by lidars with different ring numbers relative to the corresponding lidars;
[0123] Step S533, at the same pose, calculate the difference between the reference distance data and the measured distance data of lidars with different ring numbers to generate distance deviation data;
[0124] Step S534, at the same pose, calculate the ratio of the reference distance data and the measured distance data of lidars with different ring numbers to generate scaling data;
[0125] Step S535, at the same pose, correct the measured distance data according to the distance deviation data and the scaling data to generate a distance correction function;
[0126] Step S536, at the same pose, obtain the ring number fitting coefficients of lidars with different ring numbers, and fit the reflection signal data with the corresponding ring number fitting coefficients to generate a signal fitting function.
[0127] In some embodiments, when step S531 is executed, specifically, by using a high-precision laser scanner, the true distances from all target objects to the laser scanner, i.e., the reference distance data, can be determined. For example, the three-dimensional coordinates of each target object can be extracted from the reference point cloud data, and the distance from it to the laser scanner can be calculated.
[0128] In some embodiments, when step S532 is executed, specifically, lidars with different ring numbers can be used to scan at the same pose to obtain the corresponding target point cloud data. Subsequently, the three-dimensional coordinates of each target object can be extracted from the target point cloud data, and the measured distances of each target object on the lidars with different ring numbers can be calculated, i.e., the measured distance data. Among them, the target objects in the reference point cloud data of the lidars with different ring numbers correspond to the target objects in the target point cloud data. At the same time, the reflection signal intensity of each target object can also be extracted from the target point cloud data of the lidars with different ring numbers.
[0129] In some embodiments, when step S533 is executed, specifically, at the same pose, for each target object scanned by the lidars with different ring numbers, the deviation between the measured distance data and the reference distance data can be calculated to generate distance deviation data. Subsequently, the distance deviation data of all target objects on the lidars with different ring numbers can be organized into a table or an array for subsequent processing.
[0130] In some embodiments, when step S534 is executed, specifically, at the same pose, the ratio of the reference distance data to the measured distance data of each target object scanned by the lidars with different ring numbers can be calculated to generate scaling data. Subsequently, the scaling data of all target objects on the lidars with different ring numbers can be organized into a table or an array for subsequent processing.
[0131] In some embodiments, when there are fixed distance deviation data in the distance measurement data of the lidars with different ring numbers when step S535 is executed, a corresponding distance correction function can be generated for the distance deviation data. When there are scale scaling differences in the distance measurement data of the lidars with different ring numbers, a corresponding distance correction function can be generated for the scaling data. Of course, the distance deviation data and the scaling data can also be comprehensively considered, and a corresponding distance correction function can be generated for the distance deviation data and the scaling data at the same time.
[0132] In some embodiments, when there are fixed distance deviation data in the distance measurement data of the lidars with different ring numbers, the generated distance correction function R corrected,l can be expressed as: R corrected,l =R raw,l -b l , where l represents the ring number, R raw,lDenote the distance measurement data scanned by the lidar with ring number l, b l Denote as the distance deviation data of the lidar with ring number l.
[0133] In some embodiments, when there is a scaling difference in the distance measurement data of lidars with different ring numbers, the generated distance correction function R corrected,l Can be expressed as: R corrected,l = R raw,l / s l , where s l Denote as the scaling data of the lidar with ring number l.
[0134] In some embodiments, when comprehensively considering the distance deviation data and the scaling data, the generated distance correction function R corrected,l Can be expressed as: R corrected,l = (R raw,l - b l ) / s l .
[0135] In some embodiments, the distance deviation data and the scaling data can be determined through a calibration experiment. Specifically, the target object in this embodiment can use a planar target with a known geometric shape. Subsequently, the lidar scans the planar target to obtain the measurement data of the lidars with different ring numbers. Then, the measurement data of the lidars with different ring numbers is fitted to the planar model to calculate the measurement deviation of each ring number. Finally, through the statistical analysis of a large amount of calibration data, the distance deviation data and the scaling data of the lidars with different ring numbers are estimated
[0136] In some embodiments, when performing step S536, specifically, the ring number fitting coefficients of the lidars with different ring numbers can be obtained. The ring number fitting coefficients can be preset or obtained through calculation. For example, by comparing the reflection signal data of the lidars with different ring numbers with the reference signal data of the laser scanner, the ring number fitting coefficients of the lidars with different ring numbers are calculated. Finally, the reflection signal data can be fitted with the corresponding ring number fitting coefficients to generate a signal fitting function. The signal fitting function I corrected,l , is expressed as: I corrected,l = I raw,l × cf l , where I raw,l Denote as the reflection signal data of the lidar with ring number l, and cf l Denote as the ring number fitting coefficient of the lidar with ring number l.
[0137] In some embodiments, the lidar can be corrected from the above different directions. For example, when correcting from the influencing direction of the relationship between intensity and error, step S50 may include the following steps:
[0138] Step S541: Obtain the reference signal data of all target objects in the reference point cloud data;
[0139] Step S542: Obtain the reflected signal data of all target objects in the target point cloud data in the same pose;
[0140] Step S543: Calculate the difference between the reference signal data and the reflected signal data of each target object in the same pose to generate signal deviation data;
[0141] Step S544: Calculate the standard deviation of all the signal deviation data in the same pose to generate the corresponding standard deviation data;
[0142] Step S545: Perform fitting processing based on the reflected signal data and the corresponding standard deviation data in the same pose to generate a signal fitting function.
[0143] In some embodiments, when performing Step S541, specifically, after obtaining the reference point cloud data by a laser scanner, the reference signal data of each target object can be extracted from the reference point cloud data.
[0144] In some embodiments, when performing Step S542, specifically, in the same pose, after obtaining the target point cloud data by a lidar, the reflected signal data of each target object can be extracted from the target point cloud data. Among them, the target objects in the target point cloud data correspond to the target objects in the reference point cloud data.
[0145] In some embodiments, when performing Step S543, specifically, in the same pose, by calculating the difference between the reference signal data and the reflected signal data of each target object, signal deviation data can be generated. Subsequently, the signal deviation data of all target objects can be organized into a list or an array for subsequent processing.
[0146] In some embodiments, when performing Step S544, specifically, the standard deviation can be used to describe the degree of dispersion of the signal deviation data. By calculating the standard deviation of all the signal deviation data, the corresponding standard deviation data can be generated. Subsequently, the standard deviation data of each target object can be organized into a list or an array for subsequent analysis.
[0147] In some embodiments, when performing Step S545, specifically, in the same pose, fitting processing can be performed based on the reflected signal data and the corresponding standard deviation data to generate a signal fitting function. The signal fitting function refers to the mapping relationship between the reflected signal intensity of the lidar and the standard deviation data. The signal fitting function can be at least classified into a piecewise constant function, a linear function, a polynomial function, an exponential function, etc.
[0148] In some embodiments, a piecewise constant function refers to dividing the range of reflected signal data into several intervals, and assigning a fixed standard deviation data to each interval. A linear function means that there is a linear relationship between the reflected signal data and the standard deviation data. A polynomial function means that there is a polynomial relationship between the reflected signal data and the standard deviation data. An exponential function means that there is an exponential relationship between the reflected signal data and the standard deviation data.
[0149] In some embodiments, taking the case where the signal fitting function adopts a linear function as an example for illustration, the signal fitting function σ can be expressed as: σ = α × I + β, where α and β can represent the slope and the intercept respectively, and I represents the reflected signal data. The specific values of the slope and the intercept can be related to the standard deviation data.
[0150] In some embodiments, after obtaining the signal fitting function, the weight of the measurement point of each target object can be calculated according to the signal fitting function. In subsequent data processing, the weight of low-intensity measurement points can be reduced to reduce their influence on the final result. At the same time, an intensity threshold can also be set according to the experimental data and error analysis, and the measurement points below the threshold can be regarded as noise points and removed.
[0151] It can be seen that in the above solution, not only the influence of a single factor is considered, but also the influence of multiple factors on the accuracy of lidar data is systematically analyzed. These factors include different incident angles, ambient light changes, and systematic errors inside the sensor. Through parametric modeling, the influence of these factors on the measurement results can be described more accurately. By using a high-precision terrestrial laser scanner as a reference, the reliability of the calibration process is ensured. Using these reference data, the measurement errors of the lidar can be accurately evaluated and corrected. By establishing and applying a correction function, the systematic errors caused by different environmental factors and sensor characteristics can be effectively compensated. This enables the final measurement results to reach millimeter-level accuracy. The present invention no longer relies on a specific target for calibration, but analyzes and corrects errors through systematic experimental and modeling methods. This makes the calibration process more flexible and applicable to different environments and application scenarios. By analyzing in detail the influence of different environmental factors (such as incident angles, ambient light, etc.) on the measurement results, this method can improve the measurement reliability of the lidar in complex environments. Effective suppression strategies are proposed, such as suppressing the influence of ambient light changes on the lidar received signal through light intensity measurement and calibration techniques, ensuring high-precision measurement results under various environmental conditions.
[0152] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution is prior or posterior. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
[0153] Please refer to Figure 2 Figure 2 , the present invention also discloses a correction device for a lidar, and the correction device can be applied to the above correction method. The correction device may include a high-precision scanning module 100, a to-be-tested scanning module 200, a first registration module 300, a second registration module 400, and a correction module 500.
[0154] In some embodiments, the high-precision scanning module 100 can be used to scan target objects in the surrounding environment to obtain scanned point cloud data.
[0155] In some embodiments, the to-be-tested scanning module 200 can be used to scan target objects in the surrounding environment at different poses respectively to obtain corresponding initial point cloud data.
[0156] In some embodiments, the first registration module 300 can be used to register the scanned point cloud data under an optical tracking system to generate corresponding reference point cloud data.
[0157] In some embodiments, the second registration module 400 can be used to register the initial point cloud data at each pose respectively under the optical tracking system to generate corresponding target point cloud data.
[0158] In some embodiments, the correction module 500 can be used to compare each target point cloud data with the reference point cloud data and generate a correction function for the lidar based on all comparison results.
[0159] For the specific limitations of the correction device, reference can be made to the limitations on the correction method in the above text, which will not be elaborated here. Each module in the above correction device can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in or independent of the memory in the computer device in the form of hardware, or stored in the memory in the computer device in the form of software, so as to facilitate the memory to call and execute the operations corresponding to the above modules.
[0160] Please refer to Figure 3 Figure 3 , in one embodiment, the electronic device 1 may include a memory 12, a processor 13, and a bus, and may further include a computer program stored in the memory 12 and executable on the processor 13, such as a program for correcting a lidar.
[0161] In one embodiment, the memory 12 includes at least one type of readable storage medium, which includes flash memory, external hard drive, multimedia card, card-type memory (such as SD or DX memory, etc.), magnetic memory, magnetic disk, optical disc, etc. In some embodiments, the memory 12 can be an internal storage unit of the electronic device 1, such as the external hard drive of the electronic device 1. In some other embodiments, the memory 12 can also be an external storage device of the electronic device 1, such as a plug-in external hard drive, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc. equipped on the electronic device 1. Further, the memory 12 can also include both the internal storage unit and the external storage device of the electronic device 1. The memory 12 can be used not only to store application software installed in the electronic device 1 and various types of data, such as the corrected code of the lidar, etc., but also to temporarily store the data that has been output or will be output.
[0162] In one embodiment, the processor 13 can be composed of integrated circuits in some embodiments. For example, it can be composed of a single packaged integrated circuit, or can be composed of multiple integrated circuits with the same or different functions packaged together, including the combination of one or more Central Processing Units (CPUs), microprocessors, digital processing chips, graphics processors, and various control chips, etc. The processor 13 is the control core (Control Unit) of the electronic device 1, connecting all components of the entire electronic device 1 through various interfaces and circuits. By running or executing the programs or modules stored in the memory 12 (such as the corrected program of the lidar, etc.), and calling the data stored in the memory 12, it executes various functions of the electronic device 1 and processes data.
[0163] In one embodiment, the processor 13 executes the operating system of the electronic device 1 and various installed application programs. The processor 13 executes the application programs to implement the steps in the above-mentioned lidar correction method.
[0164] In one embodiment, the computer program can be divided into one or more modules, and one or more modules are stored in the memory 12 and executed by the processor 13 to complete this application. One or more modules can be a series of computer program instruction segments that can complete specific functions, and these instruction segments are used to describe the execution process of the computer program in the electronic device 1. For example, the computer program can be divided into a high-precision scanning module 100, a to-be-tested scanning module 200, a first registration module 300, a second registration module 400, a correction module 500, etc.
[0165] The embodiments of the present invention disclosed above are only used to help illustrate the present invention. The embodiments do not describe all the details in detail, nor do they limit the invention to the specific embodiments described. Obviously, many modifications and variations can be made according to the content of this specification. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the present invention, so that those skilled in the art can well understand and utilize the present invention. The present invention is only limited by the claims and their full scope and equivalents.
Claims
1. A laser radar correction method, characterized in that: include: Scan the target objects in the surrounding environment through a laser scanner to obtain scanning point cloud data; Scanning the target objects in the surrounding environment at different positions by using a laser radar to obtain corresponding initial point cloud data; Registering the scanned point cloud data under an optical tracking system to generate corresponding reference point cloud data; The initial point cloud data in each position and posture are respectively registered under the optical tracking system to generate corresponding target point cloud data; Each of the target point cloud data is compared with the reference point cloud data, and a correction function of the laser radar is generated based on all comparison results.
2. The laser radar correction method according to claim 1, characterized in that: The optical tracking system includes a plurality of cameras installed in a surrounding environment, the target object includes a calibration target, and the scanned point cloud data includes first target coordinate data of the calibration target in a scanning coordinate system; The step of registering the scanned point cloud data under the optical tracking system to generate corresponding reference point cloud data comprises: Scanning a calibration target in the surrounding environment by an optical tracking system to obtain second target coordinate data of the calibration target in the optical tracking coordinate system; Calculate a first transformation matrix of the corresponding scanning coordinate system and the optical tracking coordinate system according to the first target coordinate data and the second target coordinate data; The scanned point cloud data is transformed according to the first transformation matrix to generate reference point cloud data.
3. The laser radar correction method according to claim 2, characterized in that: The step of registering the initial point cloud data in each position and posture under the optical tracking system to generate corresponding target point cloud data comprises: Scanning the laser radars in different positions and postures through the optical tracking system to obtain the corresponding first radar coordinate data in the optical tracking coordinate system; Simulating different postures of the laser radar, and obtaining second radar coordinate data of the laser radar at different postures in the radar coordinate system; Under different postures, respectively calculating a second transformation matrix of the radar coordinate system and the optical tracking system according to the second radar coordinate data and the corresponding first radar coordinate data; Under different postures, the corresponding initial point cloud data are transformed according to the second transformation matrix to generate target point cloud data.
4. The laser radar correction method according to claim 1, characterized in that: The step of comparing each of the target point cloud data with the reference point cloud data and generating a correction function of the laser radar based on all comparison results includes: Obtain reference distance data and reference signal data of a target object in the reference point cloud data compared to the laser scanner; At each position, obtaining the incident angle of the laser radar relative to a target object, the corresponding measured distance data, and the corresponding reflected signal data; Fitting all measured distance data with corresponding reference distance data to generate corresponding distance fitting functions; All reflection signal data are fitted with corresponding reference signal data to generate corresponding signal fitting functions.
5. The laser radar correction method according to claim 1, characterized in that: The step of comparing each of the target point cloud data with the reference point cloud data and generating a correction function of the laser radar based on all comparison results includes: Obtaining reference distance data of each target object in the reference point cloud data compared to the laser scanner; Under the same posture, obtaining the measured distance data of each target object in the target point cloud data compared with the laser radar; All measured distance data are fitted with the corresponding reference distance data to generate the corresponding distance fitting function.
6. The laser radar correction method according to claim 1, characterized in that: The step of comparing each of the target point cloud data with the reference point cloud data and generating a correction function of the laser radar based on all comparison results includes: Obtaining reference distance data of all target objects in the reference point cloud data compared to the laser scanner; Under the same posture, obtain the measured distance data and reflection signal data of all target objects in the target point cloud data obtained by laser radars with different ring numbers compared with the corresponding laser radars; Under the same posture, the difference between the reference distance data and the measured distance data of the lidar with different ring numbers is calculated to generate the distance deviation data; Under the same posture, calculate the ratio of the reference distance data and the measured distance data of the lidar with different ring numbers to generate scaling data; Under the same posture, the measured distance data is corrected according to the distance deviation data and the scaling data to generate a distance correction function; At the same posture, the ring number fitting coefficients of lidars with different ring numbers are obtained, and the reflection signal data is fitted with the corresponding ring number fitting coefficients to generate a signal fitting function.
7. The laser radar correction method according to claim 1, characterized in that: The step of comparing each of the target point cloud data with the reference point cloud data and generating a correction function of the laser radar based on all comparison results includes: Acquire reference signal data of all target objects in the reference point cloud data; Acquire reflection signal data of all target objects in the target point cloud data at the same position and posture; Under the same posture, calculating the difference between the reference signal data and the reflected signal data of each target object to generate signal deviation data; Under the same posture, calculate the standard deviation of all signal deviation data and generate the corresponding standard deviation data; At the same posture, the reflection signal data and the corresponding standard deviation data are fitted to generate a signal fitting function.
8. A laser radar correction device, characterized in that: include: High-precision scanning module, used to scan target objects in the surrounding environment and obtain scanning point cloud data; The scanning module to be tested is used to scan the target object in the surrounding environment at different positions and postures to obtain corresponding initial point cloud data; A first registration module, used to register the scanned point cloud data under an optical tracking system to generate corresponding reference point cloud data; A second registration module is used to register the initial point cloud data in each position under the optical tracking system to generate corresponding target point cloud data; A correction module is used to compare each of the target point cloud data with the reference point cloud data, and generate a correction function of the laser radar based on all comparison results.
9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the laser radar correction method as described in any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of correcting the laser radar according to any one of claims 1 to 7 are implemented.