Point cloud matching method, device and electronic equipment for rotating laser radar
By performing coordinate conversion, downsampling and position optimization on the point cloud data of rotary lidar, the problem of inaccurate point cloud matching results of rotary lidar is solved, and the accuracy and reliability of point cloud matching are improved.
Patent Information
- Application Number
- CN202411931337.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-12-26
AI Technical Summary
The prior art cannot accurately and reliably obtain point cloud matching results for rotary lidars.
By obtaining point cloud data carrying timestamps based on lidar, and obtaining the rotation angle of the motor output, coordinate conversion, downsampling processing and pose optimization, the target pose of the adjacent two frames of point cloud data is obtained.
It effectively improves the perception range of lidar and the density of point cloud data, reduces the cost of point cloud data acquisition, and improves the accuracy and reliability of point cloud matching results of rotary radar.
Smart Images

Figure CN119355684B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of point cloud matching technology, and in particular to a point cloud matching method, device and electronic equipment for a rotating laser radar. Background Art
[0002] In the related art, for the point cloud matching of the rotating laser radar, the point cloud matching results are often determined by conventional point cloud matching methods. However, the above method cannot accurately and reliably obtain the point cloud matching results of the rotating laser radar. How to accurately and reliably obtain the point cloud matching results of the rotating laser radar has become a problem that needs to be solved urgently. Summary of the invention
[0003] The purpose of this application is to solve one of the technical problems in the above technology at least to a certain extent.
[0004] The first aspect of the present application provides a point cloud matching method for a rotating laser radar, comprising: acquiring point cloud data carrying a first timestamp based on the laser radar, and acquiring a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected by a mechanical structure; performing coordinate transformation on the point cloud data according to the rotation angle to obtain first point cloud data; acquiring a downsampling size of the first point cloud data, and performing downsampling processing on the first point cloud data according to the downsampling size to obtain second point cloud data; acquiring an initial update step for iterating the initial pose of two adjacent frames of point cloud data in the second point cloud data; optimizing the initial update step to obtain a target update step, and iterating the initial pose according to the target update step to obtain the target pose of the two adjacent frames of point cloud data.
[0005] According to a second aspect of the present application, there is provided a point cloud matching device for a rotating laser radar, comprising: a first acquisition module, for acquiring point cloud data carrying a first timestamp based on the laser radar, and acquiring a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected via a mechanical structure; a conversion module, for performing coordinate conversion on the point cloud data according to the rotation angle to obtain first point cloud data; a downsampling module, for acquiring a downsampling size of the first point cloud data, and performing downsampling processing on the first point cloud data according to the downsampling size to obtain second point cloud data; a second acquisition module, for acquiring an initial update step for iterating an initial pose of two adjacent frames of point cloud data in the second point cloud data; and a third acquisition module, for optimizing the initial update step to obtain a target update step, and iterating the initial pose according to the target update step to obtain the target pose of the two adjacent frames of point cloud data.
[0006] The third aspect embodiment of the present application provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the point cloud matching method of the rotating laser radar provided in the first aspect of the present application.
[0007] The fourth aspect embodiment of the present application provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to execute the point cloud matching method of the rotating laser radar provided in the first aspect of the present application.
[0008] The fifth aspect embodiment of the present application provides a computer program product. When the instruction processor in the computer program product executes, it executes the point cloud matching method of the rotating laser radar provided in the first aspect of the present application.
[0009] The present application provides a point cloud matching method for a rotating laser radar, which obtains point cloud data carrying a first timestamp based on the laser radar, and obtains a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected by a mechanical structure, and coordinates are transformed on the point cloud data according to the rotation angle to obtain first point cloud data, and a downsampling size of the first point cloud data is obtained. The first point cloud data is downsampled according to the downsampling size to obtain second point cloud data, and an initial update step for iterating the initial pose of two adjacent frames of point cloud data in the second point cloud data is obtained, the initial update step is optimized to obtain a target update step, and the initial pose is iterated according to the target update step to obtain the target pose of two adjacent frames of point cloud data. Therefore, the present application effectively improves the perception range of the laser radar and the density of the point cloud data, reduces the acquisition cost of the point cloud data, and obtains a point cloud matching method suitable for the rotating laser radar by improving the point cloud matching process, thereby improving the accuracy and reliability of the point cloud matching results of the rotating radar.
[0010] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0012] Figure 1 A schematic diagram of a flow chart of a point cloud matching method of a rotating laser radar according to an embodiment of the present application;
[0013] Figure 2A schematic diagram of a laser radar and a motor according to an embodiment of the present application;
[0014] Figure 3 A schematic diagram of a flow chart of a point cloud matching method of a rotating laser radar according to another embodiment of the present application;
[0015] Figure 4 This is a schematic structural diagram of a point cloud matching device of a rotating laser radar according to an embodiment of the present application;
[0016] Figure 5 It is a block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0017] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0018] The following describes a point cloud matching method, device, electronic device and medium of a rotating laser radar in an embodiment of the present application with reference to the accompanying drawings.
[0019] Figure 1 FIG. 1 is a flow chart of a point cloud matching method of a rotating laser radar according to an embodiment of the present application. Figure 1 As shown, the method includes:
[0020] S101, acquiring point cloud data carrying a first timestamp based on a laser radar, and acquiring a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected via a mechanical structure.
[0021] For example, Figure 2 As shown, the laser radar and the motor are fixedly connected through a mechanical structure. The laser radar's coordinate system is set to the right front and top by default, that is, the X-axis is to the right, the Y-axis is forward, and the Z-axis is upward. The mechanical structure ensures that the motor's rotation axis is consistent with the laser radar's Y-axis, and the extension line of the rotation axis passes through the laser radar's coordinate system origin. The motor can drive the laser radar to perform rotation scanning, and based on the laser radar obtaining point cloud data carrying a first timestamp, the motor can output the rotation angle carrying a second timestamp in real time.
[0022] S102, performing coordinate transformation on the point cloud data according to the rotation angle to obtain first point cloud data.
[0023] In an embodiment of the present application, the initial angle output by the motor in a stationary state can be obtained. According to the first timestamp, the second timestamp, and the rotation angle, the target rotation angle of the motor corresponding to each frame of point cloud data can be obtained. According to the initial angle and the target rotation angle, the rotation angle change amount of each frame of point cloud data can be determined. Based on the rotation angle change amount, coordinate transformation is performed on each frame of point cloud data to obtain the first point cloud data.
[0024] It should be noted that when the lidar horizontal plane is kept basically parallel to the ground in a stationary state, the lidar and the motor are powered on, but the motor is kept from rotating. In this case, the initial angle output by the motor in the stationary state is obtained.
[0025] k0.
[0026] Optionally, an interpolation algorithm can be used to obtain the target rotation angle of the motor corresponding to each frame of point cloud data according to the first timestamp, the second timestamp, and the rotation angle.
[0027] For example, for the m-th frame of point cloud data in the point cloud data, the first timestamp t p of the m-th frame of point cloud data, the timestamp t1 and timestamp t2 closest to the first timestamp are obtained from the second timestamp, and t1 < t p < t2. When the rotation angle corresponding to timestamp t1 is k1 and the rotation angle corresponding to timestamp t2 is k2, the target rotation angle k p = k1 + (k2 - k1) × (t p - t1) ÷ (t2 - t1). By repeating the above steps, the target rotation angle of the motor corresponding to each frame of point cloud data is obtained.
[0028] In an embodiment of the present application, after obtaining the initial angle and the target rotation angle, the rotation angle change amount of each frame of point cloud data can be determined according to the initial angle and the target rotation angle.
[0029] For example, for the m-th frame of point cloud data in the point cloud data, when the initial angle is k0 and the target rotation angle is k p , if the motor rotates in the clockwise direction, the rotation angle change amount dk of the m-th frame of point cloud data is +|k p- - k0|. If the motor rotates in the counterclockwise direction, the rotation angle change amount dk of the m-th frame of point cloud data is -|k p- - k0|. By repeating the above steps, the rotation angle change amount of each frame of point cloud data is determined.
[0030] In an embodiment of the present application, after obtaining the rotation angle change amount, coordinate transformation can be performed on each frame of point cloud data based on the rotation angle change amount to obtain the first point cloud data.
[0031] It should be noted that since the rotation axis of the motor is consistent with the Y axis of the laser radar, and the extension line of the rotation axis passes through the origin of the laser radar coordinate system, only one rotation transformation is needed to transform the coordinates of each frame of point cloud data. If the three-dimensional coordinates of the point cloud data before the coordinate transformation are (a, b, c), and if the change in the rotation angle is dk, the x coordinate of the point cloud data after the coordinate transformation is c×cos(90°-dk)-a×sin(dk), the y coordinate remains unchanged at b, and the z coordinate is c×sin(90°-dk)+a×cos(dk).
[0032] S103, obtaining a downsampling size of the first point cloud data, and performing downsampling processing on the first point cloud data according to the downsampling size to obtain second point cloud data.
[0033] In an embodiment of the present application, for the i-th frame of point cloud data in the first point cloud data, the first average depth of the i-th frame of point cloud data and the second average depth of the i-1-th frame of point cloud data are obtained, and the target fusion depth of the i-th frame of point cloud data is determined based on the first average depth and the second average depth. Based on the target fusion depth, the downsampling size of the i-th frame of point cloud data is determined.
[0034] For example, the target fusion depth of the i-th frame point cloud data can be determined according to the following formula:
[0035] De = 0.2 × D_last + 0.8 × D_curr
[0036] Among them, De is the target fusion depth of the i-th frame point cloud data, D_last is the second average depth of the i-1-th frame point cloud data, and D_curr is the first average depth of the i-th frame point cloud data.
[0037] In the embodiment of the present application, after the target fusion depth is acquired, the downsampling size of the i-th frame point cloud data can be determined according to the target fusion depth.
[0038] Optionally, a pre-constructed mapping relationship table between fusion depth and downsampling size may be obtained, and based on the target fusion depth, the mapping relationship table may be queried to determine the downsampling size of the i-th frame of point cloud data.
[0039] Optionally, a mapping relationship between the fusion depth and the downsampling size can be obtained, for example: when the target fusion depth De is less than 0.5m, the downsampling size S_curr is 0.03m, when the target fusion depth De is in the interval of [0.5m, 1m], the downsampling size S_curr is 0.05m, when the target fusion depth De is in the interval of [1m, 2m], the downsampling size S_curr is 0.1m, when the target fusion depth De is in the interval of [2m, 4m], the downsampling size S_curr is 0.2m, when the target fusion depth De is in the interval of [4m, 8m], the downsampling size S_curr is 0.4m, when the target fusion depth De is greater than 8m, the downsampling size S_curr is 1m, and a mapping relationship table between the fusion depth and the downsampling size is constructed according to the mapping relationship.
[0040] For example, when the target fusion depth De of the i-th frame point cloud data is 1.5, that is, the target fusion depth De is in the interval of [1m, 2m], by querying the mapping relationship table, it is determined that the downsampling size S_curr of the i-th frame point cloud data is 0.1m, and by repeating the above steps, the downsampling size of each frame of point cloud data in the first point cloud data can be obtained.
[0041] In an embodiment of the present application, after the downsampling size of each frame of point cloud data in the first point cloud data is obtained, adaptability to various situations is achieved by setting an adaptive downsampling size, thereby improving the flexibility of the downsampling processing, and downsampling processing is performed on each frame of point cloud data in the first point cloud data according to the downsampling size to obtain second point cloud data.
[0042] S104, obtaining an initial update step length for iterating the initial poses of two adjacent frames of point cloud data in the second point cloud data.
[0043] It should be noted that, since the laser radar acquires a sparse point cloud, and after rotation and downsampling, the amount of data in the second point cloud data is relatively small. Therefore, the second point cloud data can be directly used as feature points without separate feature extraction.
[0044] In an embodiment of the present application, feature matching can be performed on the second point cloud data to obtain the initial pose of two adjacent frames of point cloud data in the second point cloud data. Since the initial pose is often not accurate enough, in order to obtain a more precise pose, it is necessary to iteratively optimize the pose. During the iterative optimization process, it is necessary to obtain the initial update step size for iterating the initial pose.
[0045] Optionally, the Jacobian matrix and the gradient of the objective function at the initial pose can be calculated, a system of linear equations can be constructed by the Gauss-Newton method or the Levenberg-Marquardt method, and the system of linear equations can be solved to obtain an initial update step size.
[0046] S105, optimizing the initial update step size to obtain a target update step size, iterating the initial pose according to the target update step size to obtain a target pose of two adjacent frames of point cloud data.
[0047] In an embodiment of the present application, in order to improve the accuracy of the point cloud data matching process, the initial update step size can be optimized to obtain the target update step size. According to the target update step size, the initial pose is iterated to obtain the target pose of two adjacent frames of point cloud data.
[0048] Optionally, the six-degree-of-freedom matrix can be determined based on the product of the Jacobian matrix and the transpose of the Jacobian matrix, the eigenvalue and eigenvalue threshold of the six-degree-of-freedom matrix can be obtained, and the initial update step size can be optimized based on the eigenvalue and eigenvalue threshold to obtain the target update step size.
[0049] In an embodiment of the present application, after obtaining the target update step, the initial pose can be iterated. After each iteration, it is determined whether the convergence condition is met. If the convergence condition is met, the pose of the last iteration is used as the target pose of two adjacent frames of point cloud data. If the convergence condition is not met, the Jacobi matrix, six-degree-of-freedom matrix, eigenvalue and update step processes are repeated, and the iterative process is repeated until the convergence condition is met, and the pose of the last iteration is used as the target pose of two adjacent frames of point cloud data.
[0050] The present application proposes a point cloud matching method for a rotating laser radar, which obtains point cloud data carrying a first timestamp based on the laser radar, and obtains a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected by a mechanical structure, and coordinates are transformed on the point cloud data according to the rotation angle to obtain first point cloud data, and a downsampling size of the first point cloud data is obtained. The first point cloud data is downsampled according to the downsampling size to obtain second point cloud data, and an initial update step for iterating the initial pose of two adjacent frames of point cloud data in the second point cloud data is obtained, and the initial update step is optimized to obtain a target update step, and the initial pose is iterated according to the target update step to obtain the target pose of two adjacent frames of point cloud data. Therefore, the present application effectively improves the perception range of the laser radar and the density of the point cloud data, reduces the acquisition cost of the point cloud data, and obtains a point cloud matching method suitable for the rotating laser radar by improving the point cloud matching process, thereby improving the accuracy and reliability of the point cloud matching results of the rotating radar.
[0051] Figure 3 FIG. 1 is a flow chart of a point cloud matching method of a rotating laser radar according to an embodiment of the present application. Figure 3 As shown, the method includes:
[0052] S301, acquiring point cloud data carrying a first timestamp based on a laser radar, and acquiring a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected via a mechanical structure.
[0053] S302, performing coordinate transformation on the point cloud data according to the rotation angle to obtain first point cloud data.
[0054] S303, obtaining a downsampling size of the first point cloud data, and performing downsampling processing on the first point cloud data according to the downsampling size to obtain second point cloud data.
[0055] S304, obtaining an initial update step length for iterating the initial poses of two adjacent frames of point cloud data in the second point cloud data.
[0056] For the relevant contents of steps S301 - S304 , please refer to the above embodiment, which will not be described again here.
[0057] S305, determining a six-degree-of-freedom matrix according to the product of the Jacobi matrix and the transpose of the Jacobi matrix.
[0058] For example, if the Jacobian matrix calculated during the second point cloud data matching process is J, then the six-degree-of-freedom matrix A=J T *J, where A is the six-degree-of-freedom matrix, J is the Jacobian matrix, and J T It is the transpose of the Jacobi matrix, where the six-degree-of-freedom matrix is three-degree-of-freedom translation (x, y, z) and three-degree-of-freedom rotation (roll, pitch, yaw), and the six-degree-of-freedom matrix is a 6x6 matrix.
[0059] S306, obtaining the eigenvalues and eigenvalue thresholds of the six-degree-of-freedom matrix.
[0060] It should be noted that each eigenvalue corresponds to a degree of freedom. For example, the first column in the Jacobian matrix is obtained by taking the partial derivative of x, then the first eigenvalue of the six-degree-of-freedom matrix A corresponds to the degree of freedom in the x direction, and so on.
[0061] Optionally, the six-degree-of-freedom matrix may be decomposed to obtain eigenvalues of the six-degree-of-freedom matrix.
[0062] In an embodiment of the present application, a preset initial eigenvalue threshold is obtained. Due to the introduction of motor rotation, the eigenvalue threshold is linked to the rotation angle of the motor. In response to the motor being in a stationary state, the preset initial eigenvalue threshold is used as the eigenvalue threshold. In response to the motor being in a rotating state, an adjustment factor of the initial eigenvalue threshold is determined based on the change in the rotation angle. According to the adjustment factor, the initial eigenvalue threshold is adjusted to obtain the eigenvalue threshold.
[0063] It should be noted that the present application does not limit the setting of the initial eigenvalue threshold. For example, the initial eigenvalue threshold can be set to 100.
[0064] For example, when the motor is in a stationary state, the characteristic value threshold Th may be 100.
[0065] Optionally, the cosine value of the rotation angle change may be obtained, and based on the absolute value of the cosine value, an adjustment factor of the initial eigenvalue threshold may be determined, that is, the adjustment factor is |cos(dk)|.
[0066] For example, if the initial eigenvalue threshold is 100, the product of the adjustment factor and the initial eigenvalue threshold can be obtained to obtain the eigenvalue threshold Th as |cos(dk)|×100, that is, different rotation angle changes have a corresponding eigenvalue threshold.
[0067] S307, optimizing the initial update step length according to the eigenvalue and the eigenvalue threshold to obtain a target update step length.
[0068] It should be noted that in engineering application scenarios, the size of the eigenvalue of the six-degree-of-freedom matrix is related to whether there are enough constraints in this optimization iteration in that direction. In other words, the size of the eigenvalue of the six-degree-of-freedom matrix represents the quality of the optimization iteration effect. The larger the eigenvalue of the six-degree-of-freedom matrix, the better the optimization iteration effect.
[0069] It should be noted that when the eigenvalue corresponding to any degree of freedom is greater than or equal to the corresponding eigenvalue threshold, the optimization on this degree of freedom is trusted; when the eigenvalue corresponding to any degree of freedom is less than the corresponding eigenvalue threshold, the optimization on this degree of freedom is not trusted.
[0070] In an embodiment of the present application, the eigenvalue of each degree of freedom is compared with the corresponding eigenvalue threshold, the target degree of freedom whose eigenvalue is less than the eigenvalue threshold is obtained, and the element value corresponding to the target degree of freedom in the initial update step is set as the target value.
[0071] It should be noted that the present application does not limit the setting of the target value, for example, the target value can be set to 0.
[0072] For example, for the target value of 0, when the initial update step dX = (dx, dy, dz, droll, dpitch, dyaw), the eigenvalue of each degree of freedom is compared with the corresponding eigenvalue threshold. If only the eigenvalue corresponding to the y degree of freedom is less than the eigenvalue threshold Th, it is considered that the iterative optimization has failed in the y degree of freedom, and dy in the initial update step dX is set to 0, and the values of the remaining degrees of freedom remain unchanged.
[0073] S308, iterating the initial pose according to the target update step size to obtain the target pose of two adjacent frames of point cloud data.
[0074] In an embodiment of the present application, the initial pose can be iterated according to the target update step size until the convergence condition is met to obtain the target pose of two adjacent frames of point cloud data.
[0075] The present application proposes a point cloud matching method for a rotating laser radar, which obtains point cloud data carrying a first timestamp based on the laser radar, and obtains a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected by a mechanical structure, and the coordinates of the point cloud data are transformed according to the rotation angle to obtain the first point cloud data, and the downsampling size of the first point cloud data is obtained. According to the downsampling size, the first point cloud data is downsampled to obtain the second point cloud data, and the initial update step length for iterating the initial posture of two adjacent frames of point cloud data in the second point cloud data is obtained. The six automatic update steps are determined according to the product of the Jacobian matrix and the transpose of the Jacobian matrix. From the degree matrix, the eigenvalues and eigenvalue thresholds of the six-degree-of-freedom matrix are obtained. According to the eigenvalues and eigenvalue thresholds, the initial update step size is optimized to obtain the target update step size. According to the target update step size, the initial pose is iterated to obtain the target pose of two adjacent frames of point cloud data. Therefore, the present application optimizes the initial update step size according to the eigenvalues and eigenvalue thresholds, which effectively improves the accuracy of determining the target update step size, and iterates the initial pose according to the target update step size to obtain the target pose of two adjacent frames of point cloud data, which effectively improves the accuracy of point cloud matching in some extreme scenarios, and improves the accuracy and reliability of point cloud matching results of rotating radar.
[0076] Figure 4 FIG. 1 is a schematic diagram of a point cloud matching device of a rotating laser radar according to an embodiment of the present application. Figure 4 As shown, a point cloud matching device 400 for a rotating laser radar includes a first acquisition module 41, a conversion module 42, a downsampling module 43, a second acquisition module 44 and a third acquisition module 45, wherein:
[0077] A first acquisition module 41 is used to acquire point cloud data carrying a first timestamp based on a laser radar, and to acquire a rotation angle carrying a second timestamp output by a motor, wherein the laser radar is fixedly connected to the motor through a mechanical structure;
[0078] A conversion module 42, configured to perform coordinate conversion on the point cloud data according to the rotation angle to obtain first point cloud data;
[0079] A downsampling module 43 is used to obtain a downsampling size of the first point cloud data, and perform downsampling processing on the first point cloud data according to the downsampling size to obtain second point cloud data;
[0080] A second acquisition module 44 is used to acquire an initial update step length for iterating the initial poses of two adjacent frames of point cloud data in the second point cloud data;
[0081] The third acquisition module 45 is used to optimize the initial update step length to obtain a target update step length, and iterate the initial pose according to the target update step length to obtain a target pose of the two adjacent frames of point cloud data.
[0082] The second aspect of the present application provides a point cloud matching device for a rotating laser radar, which also has the following technical features.
[0083] According to one embodiment of the present application, the conversion module 42 is used to: obtain the initial angle of the motor output in a stationary state; obtain the target rotation angle of the motor corresponding to each frame of point cloud data according to the first timestamp, the second timestamp and the rotation angle; determine the rotation angle change of each frame of point cloud data according to the initial angle and the target rotation angle; perform coordinate transformation on each frame of point cloud data based on the rotation angle change to obtain first point cloud data.
[0084] According to one embodiment of the present application, the downsampling module 43 is used to: obtain, for the i-th frame point cloud data in the first point cloud data, a first average depth of the i-th frame point cloud data and a second average depth of the i-1-th frame point cloud data; determine, based on the first average depth and the second average depth, a target fusion depth of the i-th frame point cloud data; and determine, based on the target fusion depth, a downsampling size of the i-th frame point cloud data.
[0085] According to one embodiment of the present application, the downsampling module 43 is used to: obtain a pre-constructed mapping relationship table between fusion depth and downsampling size; based on the target fusion depth, query the mapping relationship table to determine the downsampling size of the i-th frame point cloud data.
[0086] According to one embodiment of the present application, the third acquisition module 45 is used to: determine the six-degree-of-freedom matrix based on the product of the Jacobian matrix and the transpose of the Jacobian matrix; obtain the eigenvalues and eigenvalue thresholds of the six-degree-of-freedom matrix; optimize the initial update step size based on the eigenvalues and the eigenvalue thresholds to obtain the target update step size.
[0087] According to one embodiment of the present application, the third acquisition module 45 is used to: obtain a preset initial eigenvalue threshold; in response to the motor being in a stationary state, use the preset initial eigenvalue threshold as the eigenvalue threshold; or, in response to the motor being in a rotating state, determine an adjustment factor of the initial eigenvalue threshold based on a change in the rotation angle, and adjust the initial eigenvalue threshold based on the adjustment factor to obtain the eigenvalue threshold.
[0088] According to one embodiment of the present application, the third acquisition module 45 is used to: compare the eigenvalue of each degree of freedom with the corresponding eigenvalue threshold; obtain the target degree of freedom whose eigenvalue is less than the eigenvalue threshold, and set the element value corresponding to the target degree of freedom in the initial update step as the target value.
[0089] The present application proposes a point cloud matching device for a rotating laser radar, which obtains point cloud data carrying a first timestamp based on the laser radar, and obtains a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected by a mechanical structure, and coordinates are transformed on the point cloud data according to the rotation angle to obtain first point cloud data, and a downsampling size of the first point cloud data is obtained. The first point cloud data is downsampled according to the downsampling size to obtain second point cloud data, and an initial update step for iterating the initial pose of two adjacent frames of point cloud data in the second point cloud data is obtained, the initial update step is optimized to obtain a target update step, and the initial pose is iterated according to the target update step to obtain the target pose of two adjacent frames of point cloud data. Therefore, the present application effectively improves the perception range of the laser radar and the density of the point cloud data, reduces the acquisition cost of the point cloud data, and obtains a point cloud matching method suitable for the rotating laser radar by improving the point cloud matching process, thereby improving the accuracy and reliability of the point cloud matching results of the rotating radar.
[0090] To achieve the above embodiments, the present application also provides an electronic device, a computer-readable storage medium and a computer program product.
[0091] Figure 5 A block diagram of an electronic device according to an embodiment of the present application, such as Figure 5 As shown, the electronic device 1000 includes a memory 101, a processor 102, and a computer program stored in the memory 101 and executable on the processor 102. When the processor 102 executes the program instructions, the execution is realized. Figures 1 to 3 An embodiment of a point cloud matching method for a rotating lidar.
[0092] In order to implement the above embodiments, the present application also provides a non-transitory computer-readable storage medium storing computer instructions, the computer instructions are used to enable the computer to execute Figures 1 to 3A point cloud matching method for a rotating laser radar of an embodiment.
[0093] In order to implement the above embodiment, the present application also provides a computer program product. When the instruction processor in the computer program product executes, Figures 1 to 3 A point cloud matching method for a rotating laser radar of an embodiment.
[0094] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.
[0095] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0096] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.
[0097] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples (non-exhaustive list) of computer-readable media include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.
[0098] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0099] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0100] In addition, each functional unit in each embodiment of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0101] The storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limiting the present application. A person of ordinary skill in the art may change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. A point cloud matching method for a rotating laser radar, characterized in that: The method comprises: Acquire point cloud data carrying a first timestamp based on a laser radar, and acquire a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected by a mechanical structure; According to the rotation angle, coordinate transformation is performed on the point cloud data to obtain first point cloud data; Acquire a downsampling size of the first point cloud data, and perform downsampling processing on the first point cloud data according to the downsampling size to obtain second point cloud data; Obtaining an initial update step length for iterating the initial poses of two adjacent frames of point cloud data in the second point cloud data; The initial update step length is optimized to obtain a target update step length, and the initial pose is iterated according to the target update step length to obtain a target pose of the two adjacent frames of point cloud data; The obtaining of the downsampling size of the first point cloud data includes: For an i-th frame of point cloud data in the first point cloud data, obtaining a first average depth of the i-th frame of point cloud data and a second average depth of the i-1-th frame of point cloud data; Determining a target fusion depth of the i-th frame of point cloud data according to the first average depth and the second average depth; The downsampling size of the i-th frame point cloud data is determined according to the target fusion depth.
2. The method according to claim 1, characterized in that The step of performing coordinate transformation on the point cloud data according to the rotation angle to obtain first point cloud data includes: Obtaining an initial angle of the motor output in a stationary state; Acquire a target rotation angle of the motor corresponding to each frame of point cloud data according to the first timestamp, the second timestamp and the rotation angle; Determining a rotation angle change of each frame of point cloud data according to the initial angle and the target rotation angle; Coordinate transformation is performed on each frame of point cloud data based on the rotation angle change to obtain first point cloud data.
3. The method according to claim 1, characterized in that The step of determining the downsampling size of the i-th frame point cloud data according to the target fusion depth includes: Obtain a pre-built mapping table between fusion depth and downsampling size; Based on the target fusion depth, the mapping relationship table is queried to determine the downsampling size of the i-th frame point cloud data.
4. The method according to claim 1, characterized in that The step of optimizing the initial update step length to obtain a target update step length includes: Determining a six-degree-of-freedom matrix based on the product of a Jacobian matrix and a transpose of the Jacobian matrix; Obtaining eigenvalues and eigenvalue thresholds of the six-degree-of-freedom matrix; The initial update step length is optimized according to the eigenvalue and the eigenvalue threshold to obtain the target update step length.
5. The method according to claim 4, characterized in that The obtaining of the characteristic value threshold comprises: Obtain a preset initial eigenvalue threshold; In response to the motor being in a stationary state, a preset initial characteristic value threshold is used as the characteristic value threshold; or, In response to the motor being in a rotating state, an adjustment factor of the initial characteristic value threshold is determined according to a change in a rotation angle, and the initial characteristic value threshold is adjusted according to the adjustment factor to obtain the characteristic value threshold.
6. The method according to claim 4, characterized in that The step of optimizing the initial update step length according to the eigenvalue and the eigenvalue threshold to obtain the target update step length includes: Compare the eigenvalue of each degree of freedom with the corresponding eigenvalue threshold; A target degree of freedom is obtained in which the eigenvalue is less than the eigenvalue threshold, and an element value corresponding to the target degree of freedom in the initial update step is set as a target value.
7. A point cloud matching device for a rotating laser radar, characterized in that: The device comprises: A first acquisition module, used for acquiring point cloud data carrying a first timestamp based on a laser radar, and acquiring a rotation angle carrying a second timestamp output by a motor, wherein the laser radar and the motor are fixedly connected by a mechanical structure; A conversion module, used for performing coordinate conversion on the point cloud data according to the rotation angle to obtain first point cloud data; A downsampling module, used for acquiring a downsampling size of the first point cloud data, and performing downsampling processing on the first point cloud data according to the downsampling size to obtain second point cloud data; A second acquisition module, used to acquire an initial update step length for iterating the initial poses of two adjacent frames of point cloud data in the second point cloud data; A third acquisition module is used to optimize the initial update step length to obtain a target update step length, and iterate the initial pose according to the target update step length to obtain a target pose of the two adjacent frames of point cloud data; The downsampling module is used to obtain, for the i-th frame of point cloud data in the first point cloud data, a first average depth of the i-th frame of point cloud data and a second average depth of the i-1-th frame of point cloud data; Determining a target fusion depth of the i-th frame of point cloud data according to the first average depth and the second average depth; The downsampling size of the i-th frame point cloud data is determined according to the target fusion depth.
8. An electronic device, characterized in that: including a processor and a memory; The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to implement the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Three-dimensional point cloud data processing method and device
CN118776550A