Point cloud data processing method and device, computer device, and storage medium

By calculating the three-axis displacement distortion of the point cloud acquisition device during uniform acceleration motion, the point cloud coordinates are corrected, which solves the problem of low accuracy of 3D environment maps caused by point cloud data distortion and realizes the generation of higher accuracy environment maps.

CN116681610BActive Publication Date: 2026-01-06PING AN TECH (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310635984.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-31
Publication Date
2026-01-06
Estimated Expiration
2043-05-31

AI Technical Summary

Technical Problem

Existing technologies fail to effectively handle point cloud data distortion during the movement of point cloud acquisition devices, resulting in low accuracy of 3D environment maps.

Method used

By acquiring the three-axis velocity, acceleration, and time difference of the point cloud acquisition device during uniform acceleration, the three-axis displacement distortion of the point cloud data is calculated, and the point cloud coordinates are corrected.

Benefits of technology

This improved the accuracy of point cloud data and ensured the precision of the generated 3D environment map.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116681610B_ABST
    Figure CN116681610B_ABST
Patent Text Reader

Abstract

The application discloses a kind of point cloud data processing method, device, computer equipment and storage medium, comprising: obtaining the three-axis velocity of first point cloud data, the three-axis acceleration of second point cloud data, and the first acquisition time difference between first point cloud data and second point cloud data;First point cloud data and second point cloud data are two frames of point cloud data that point cloud acquisition device is continuously acquired in uniform acceleration motion process;According to the three-axis velocity of first point cloud data, the three-axis acceleration of second point cloud data and the first acquisition time difference, the three-axis displacement distortion of second point cloud data is calculated;According to the three-axis displacement distortion, the point cloud coordinates of second point cloud data are corrected and handled.It can be seen that, in the present application, the point cloud coordinates of second point cloud data are corrected by calculating three-axis displacement distortion, avoid the problem that the 3D environment map obtained finally is low in precision due to the distortion of point cloud data acquired by point cloud acquisition device in motion process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of artificial intelligence technology, and in particular to a point cloud data processing method, apparatus, computer equipment, and storage medium. Background Technology

[0002] With the rapid development of science and technology, 3D simultaneous localization and mapping (SLAM) technology has gradually been integrated into people's lives. Products such as robot vacuum cleaners, food delivery robots, and autonomous vehicles all involve SLAM technology.

[0003] The SLAM technology implementation process mainly includes the following stages: (1) sensor data acquisition, (2) front-end odometer, (3) back-end optimization, (4) loop closure detection, and (5) mapping. Among them, the front-end odometer is mainly used to process the point cloud data acquired by the point cloud acquisition device, such as processing the point cloud data acquired by the lidar to obtain the transformation matrix, and then obtaining the 3D environment map based on the transformation matrix.

[0004] However, when generating the transformation matrix through the front-end odometry, the existing technology only estimates the motion of two frames of point cloud data, without considering the distortion of the point cloud data acquired during the motion of the point cloud acquisition device, resulting in low accuracy of the final 3D environment map. Summary of the Invention

[0005] This invention discloses a point cloud data processing method, apparatus, computer device, and storage medium to solve the problem of low accuracy of the final 3D environment map caused by distortion of point cloud data acquired by the point cloud acquisition device during movement.

[0006] This invention discloses a point cloud data processing method, the method comprising:

[0007] The device acquires the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first point cloud data and the second point cloud data; the first point cloud data and the second point cloud data are two frames of point cloud data continuously acquired by the point cloud acquisition device during uniform acceleration motion.

[0008] The triaxial displacement distortion of the second point cloud data is calculated based on the triaxial velocity of the first point cloud data, the triaxial acceleration of the second point cloud data, and the first acquisition time difference.

[0009] The coordinates of the second point cloud data are corrected based on the triaxial displacement distortion.

[0010] Optionally, in the above method, calculating the triaxial displacement distortion of the second point cloud data based on the triaxial velocity of the first point cloud data, the triaxial acceleration of the second point cloud data, and the first acquisition time difference includes:

[0011] The velocity of the first point cloud data in the X-axis direction of the world coordinate system, the acceleration of the second point cloud data in the X-axis direction of the world coordinate system, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the X-axis displacement distortion.

[0012] The velocity of the first point cloud data in the Y-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Y-axis direction of the world coordinate system, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the Y-axis displacement distortion.

[0013] The velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the Z-axis displacement distortion.

[0014] Optionally, the displacement distortion calculation formula in the above method is:

[0015]

[0016] Where s is the displacement distortion of the second point cloud data in the corresponding axis of the world coordinate system, t is the first acquisition time difference, a is the acceleration of the second point cloud data in the corresponding axis of the world coordinate system, and v is the velocity of the first point cloud data in the corresponding axis of the world coordinate system.

[0017] Optionally, before inputting the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain the Z-axis displacement distortion, the method further includes:

[0018] Obtain the gravitational acceleration of the point cloud acquisition device;

[0019] The acceleration of the second point cloud data in the Z-axis direction of the world coordinate system is subtracted from the acceleration due to gravity to obtain the corrected acceleration of the second point cloud data in the Z-axis direction of the world coordinate system.

[0020] The step of inputting the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain the Z-axis displacement distortion includes:

[0021] The velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the correction acceleration, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the Z-axis displacement distortion.

[0022] Optionally, in the above method, the three-axis velocity for acquiring the first point cloud data includes:

[0023] Determine whether the first point cloud data is the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion;

[0024] If the first point cloud data is the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion, then the three-axis velocity of the first point cloud data is determined to be 0.

[0025] If the first point cloud data is not the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion, the three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference between the third point cloud data and the first point cloud data are acquired; the third point cloud data is the previous frame of point cloud data of the first point cloud data.

[0026] The three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference are input into the velocity calculation formula to obtain the three-axis velocity of the first point cloud data.

[0027] Optionally, the speed calculation formula in the above method is:

[0028] v = v' + at

[0029] Where v is the velocity of the first point cloud data along the corresponding axis in the world coordinate system, v' is the velocity of the third point cloud data along the corresponding axis in the world coordinate system, t is the second acquisition time difference, and a is the acceleration of the first point cloud data along the corresponding axis in the world coordinate system.

[0030] Optionally, after correcting the coordinates of the second point cloud data based on the triaxial displacement distortion, the above method further includes:

[0031] An environmental map is obtained based on the second point cloud data after point cloud coordinate correction.

[0032] The present invention also discloses a point cloud data processing device, comprising:

[0033] The data acquisition unit is used to acquire the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first point cloud data and the second point cloud data; the first point cloud data and the second point cloud data are two frames of point cloud data continuously acquired by the point cloud acquisition device during uniform acceleration motion.

[0034] The displacement distortion calculation unit is used to calculate the three-axis displacement distortion of the second point cloud data based on the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference.

[0035] The point cloud correction unit is used to correct the coordinates of the second point cloud data according to the triaxial displacement distortion.

[0036] The present invention also discloses a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement various steps of a point cloud data processing method.

[0037] The present invention also discloses a computer-readable storage medium storing a computer program that, when executed by a processor, implements various steps of a point cloud data processing method.

[0038] As can be seen, the aforementioned point cloud data processing method, apparatus, computer equipment, and storage medium calculate the three-axis displacement distortion of the point cloud coordinates of the second point cloud data by acquiring the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first and second point cloud data. The point cloud coordinates of the second point cloud data are then corrected based on this three-axis displacement distortion. Therefore, by calculating the three-axis displacement distortion to correct the point cloud coordinates of the second point cloud data, this invention avoids the problem of low accuracy in the final 3D environment map caused by distortion in the point cloud data acquired during the movement of the point cloud acquisition device. Attached Figure Description

[0039] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0040] Figure 1 This is a flowchart illustrating a point cloud data processing method disclosed in Embodiment 1 of the present invention;

[0041] Figure 2 This is a partial flowchart of a point cloud data processing method disclosed in Embodiment 1 of the present invention;

[0042] Figure 3 This is a partial flowchart of a point cloud data processing method disclosed in Embodiment 1 of the present invention;

[0043] Figure 4 This is a partial flowchart of a point cloud data processing method disclosed in Embodiment 1 of the present invention;

[0044] Figure 5 This is another flowchart illustrating a point cloud data processing method disclosed in Embodiment 1 of the present invention;

[0045] Figure 6 This is a schematic diagram of the structure of a point cloud data processing device disclosed in Embodiment 2 of the present invention;

[0046] Figure 7 This is a schematic diagram of the structure of a computer device disclosed in Embodiment 3 of the present invention. Detailed Implementation

[0047] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0048] This invention discloses a point cloud data processing method. By acquiring the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first and second point cloud data obtained by the point cloud acquisition device during uniform acceleration, the three-axis displacement distortion of the second point cloud data is calculated. This method is then used to correct the coordinates of the second point cloud data, which can solve the problem of low accuracy of the final environmental map caused by displacement distortion of the point cloud data acquired by the point cloud acquisition device during uniform acceleration. Understandably, during uniform acceleration, the point cloud acquisition device needs to correct the point cloud coordinates after acquiring two consecutive frames of point cloud data. This involves acquiring the three-axis velocity of the previous frame, the three-axis acceleration of the next frame, and the time difference between the acquisitions of the previous and next frames. Based on this, the three-axis displacement distortion of the next frame is calculated, and the point cloud coordinates of that frame are corrected. This process is repeated for each frame of point cloud data acquired during uniform acceleration, resulting in a correction for the point cloud coordinates of each acquired frame. In this embodiment, the point cloud coordinates of the second frame are corrected by calculating the three-axis displacement distortion of the second frame, thus avoiding the problem of low accuracy in the final 3D environment map caused by distortion in the point cloud data acquired during the movement of the device. Specific embodiments are described below.

[0049] It should be noted that the point cloud data processing method disclosed in this embodiment is applicable not only to the correction processing of point cloud coordinates of two consecutive frames of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion, but also to the correction processing of point cloud coordinates of two consecutive frames of point cloud data acquired by the point cloud acquisition device during uniform deceleration motion, and is not limited here.

[0050] In addition, in this embodiment, Euler angles and triaxial accelerations are acquired through an Inertial Measurement Unit (IMU). Furthermore, the triaxial accelerations acquired in this embodiment are based on a coordinate system with the point cloud acquisition device as the origin. Therefore, the triaxial accelerations need to be transformed to the world coordinate system using Euler angles before the point cloud coordinates of the point cloud data are corrected. For example, first, the data is rotated by a yaw angle around the Y-axis of the point cloud acquisition device's coordinate system; then, by a pitch angle around the X-axis of the point cloud acquisition device's coordinate system; and finally, by a roll angle around the Z-axis of the point cloud acquisition device's coordinate system. Based on this, the triaxial accelerations are transformed from the point cloud acquisition device's coordinate system to the world coordinate system.

[0051] Example 1

[0052] like Figure 1The diagram shown is a flowchart of a point cloud data processing method disclosed in Embodiment 1 of the present invention. It is applicable to coordinate correction of point cloud data acquired by a point cloud acquisition device during at least approximately uniform acceleration (deceleration) motion, such as coordinate correction of point cloud data acquired by a lidar during uniform acceleration (deceleration) motion. Specifically, it includes the following steps:

[0053] S101: Acquire the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first point cloud data and the second point cloud data.

[0054] Among them, the first point cloud data and the second point cloud data are two frames of point cloud data continuously acquired by the point cloud acquisition device during uniform acceleration motion.

[0055] The three-axis velocity of the first point cloud data is the three-axis velocity of the point cloud acquisition device itself when it acquires the first point cloud data; the three-axis acceleration of the second point cloud data acquired through the IMU is the three-axis acceleration of the point cloud acquisition device itself when it acquires the second point cloud data.

[0056] Specifically, the point cloud acquisition device in this embodiment may include a lidar and an IMU. The lidar and the IMU are fixed together. Therefore, the three-axis acceleration acquired by the IMU is the same as the three-axis acceleration of the lidar. The lidar and the IMU are synchronized frame by frame. For example, every time the IMU acquires the three-axis acceleration, the lidar also acquires the point cloud data. Accordingly, the three-axis acceleration acquired by the IMU is the same as the three-axis acceleration when the lidar acquires the point cloud data.

[0057] In this specific implementation, the first acquisition time difference between the first point cloud data and the second point cloud data can be obtained using timestamp technology. The first acquisition time difference is calculated based on the timestamps of the point cloud acquisition device when acquiring the first point cloud data and the timestamps when acquiring the second point cloud data. For example, using seconds as the timestamp unit: if the timestamp for acquiring the first point cloud data is 12260 and the timestamp for acquiring the second point cloud data is 12320, the difference between them indicates that the first acquisition time difference is 60 seconds.

[0058] S102: Based on the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference, the three-axis displacement distortion of the second point cloud data is calculated.

[0059] In this context, the three-axis velocities of the first point cloud data are the three velocities along the three coordinate axes of the world coordinate system; the three-axis accelerations of the second point cloud data are the three accelerations along the three coordinate axes of the world coordinate system. The corresponding displacement distortions are calculated based on the three coordinate axes of the world coordinate system, thus obtaining the three-axis displacement distortions of the second point cloud data.

[0060] S103: Correct the point cloud coordinates of the second point cloud data based on the triaxial displacement distortion.

[0061] In its implementation, this embodiment obtains the coordinates of each point cloud in the second point cloud data. Based on the obtained three-axis displacement distortion, the coordinates of each point cloud in the second point cloud data are corrected one by one. For example, if the coordinates of a point cloud in the second point cloud data are (x, y, z), and the three-axis displacement distortion is (△x, △y, △z), then the corrected coordinates of the point cloud are (x+△x, y+△y, z+△z). In other words, the coordinate correction of each point cloud in the second point cloud data only requires adding the corresponding three-axis displacement distortion to the original coordinates. Therefore, the point cloud coordinate correction processing based on the three-axis displacement distortion of the second point cloud data can be achieved.

[0062] As can be seen from the above embodiments, the point cloud data processing method disclosed in this invention calculates the three-axis displacement distortion of the point cloud coordinates of the second point cloud data by acquiring the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first and second point cloud data, and then corrects the point cloud coordinates of the second point cloud data based on the three-axis displacement distortion. Therefore, by calculating the three-axis displacement distortion to correct the point cloud coordinates of the second point cloud data, this invention avoids the problem of low accuracy in the final 3D environment map caused by distortion in the point cloud data acquired during the movement of the point cloud acquisition device.

[0063] Based on Figure 1 In its specific implementation, step S102 can be achieved through the following steps, such as... Figure 2 As shown:

[0064] S201: Input the velocity of the first point cloud data in the X-axis direction of the world coordinate system, the acceleration of the second point cloud data in the X-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain the X-axis displacement distortion.

[0065] In this specific implementation, the velocity of the first point cloud data in the X-axis direction of the world coordinate system, the acceleration of the second point cloud data in the X-axis direction of the world coordinate system, and the first acquisition time difference are simultaneously input into a pre-set displacement distortion calculation formula to calculate the displacement distortion of the second point cloud data in the X-axis direction of the world coordinate system, i.e., the X-axis displacement distortion.

[0066] S202: Input the velocity of the first point cloud data in the Y-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Y-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain the Y-axis displacement distortion.

[0067] In this specific implementation, the velocity of the first point cloud data in the Y-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Y-axis direction of the world coordinate system, and the first acquisition time difference are simultaneously input into a pre-set displacement distortion calculation formula to calculate the displacement distortion of the second point cloud data in the Y-axis direction of the world coordinate system, i.e., the Y-axis displacement distortion.

[0068] S203: Input the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain the Z-axis displacement distortion.

[0069] In this specific implementation, the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference are simultaneously input into a pre-set displacement distortion calculation formula to calculate the displacement distortion of the second point cloud data in the Z-axis direction of the world coordinate system, i.e., the Z-axis displacement distortion.

[0070] It should be noted that the same formula can be used to calculate the X-axis, Y-axis, and Z-axis displacement distortions in this embodiment. After calculating the X-axis, Y-axis, and Z-axis displacement distortions, the three-axis displacement distortions of the second point cloud data are obtained.

[0071] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0072] In one implementation, the displacement distortion calculation formula in this embodiment can be as follows:

[0073]

[0074] Where s is the displacement distortion of the second point cloud data in the corresponding axis of the world coordinate system, t is the first acquisition time difference, a is the acceleration of the second point cloud data in the corresponding axis of the world coordinate system, and v is the velocity of the first point cloud data in the corresponding axis of the world coordinate system.

[0075] For example, consider calculating the X-axis displacement distortion of the second point cloud data in the X-axis direction. The first acquisition time difference between the second and first point cloud data, the acceleration of the second point cloud data in the X-axis direction of the world coordinate system, and the velocity of the first point cloud data in the X-axis direction of the world coordinate system are input into the displacement distortion calculation formula to obtain the displacement distortion of the second point cloud data in the X-axis direction of the world coordinate system.

[0076] For example, consider calculating the Y-axis displacement distortion of the second point cloud data in the Y-axis direction. The first acquisition time difference between the second and first point cloud data, the acceleration of the second point cloud data in the Y-axis direction of the world coordinate system, and the velocity of the first point cloud data in the Y-axis direction of the world coordinate system are input into the displacement distortion calculation formula to calculate the displacement distortion of the second point cloud data in the Y-axis direction of the world coordinate system.

[0077] Based on Figure 2 In its specific implementation, step S203 can also be achieved through the following steps, such as... Figure 3 As shown:

[0078] S301: Obtain the gravitational acceleration of the point cloud acquisition device.

[0079] Since the gravitational acceleration of any object is the same at the same height in the same region, the gravitational acceleration of the point cloud acquisition device can be:

[0080] g = 9.8 m / s 2 ≈10m / s 2

[0081] S302: The acceleration of the second point cloud data in the Z-axis direction of the world coordinate system is subtracted from the acceleration due to gravity to obtain the corrected acceleration of the second point cloud data in the Z-axis direction of the world coordinate system.

[0082] In the specific implementation, the acceleration in the Z-axis direction of the triaxial acceleration of the second point cloud data obtained in this embodiment includes the gravitational acceleration of the point cloud acquisition device itself. Therefore, it is necessary to subtract the gravitational acceleration to obtain the correction acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, so as to avoid the gravitational acceleration affecting the accuracy of the point cloud coordinate correction of the point cloud data.

[0083] S303: Input the velocity, corrected acceleration and first acquisition time difference of the first point cloud data in the Z-axis direction of the world coordinate system into the displacement distortion calculation formula to obtain the Z-axis displacement distortion.

[0084] In this specific implementation, the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the corrected acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference are simultaneously input into a pre-set displacement distortion calculation formula to calculate the displacement distortion of the second point cloud data in the Z-axis direction of the world coordinate system, i.e., the Z-axis displacement distortion. It can be seen that in this embodiment, when calculating the displacement distortion of the second point cloud data in the Z-axis direction, the influence of gravitational acceleration on the calculation of the Z-axis displacement distortion of the second point cloud data is eliminated by subtracting gravitational acceleration from the acceleration of the second point cloud data in the Z-axis direction, thereby improving the accuracy of the point cloud coordinate correction processing of the second point cloud data.

[0085] Based on Figure 1 In this specific implementation, the three-axis velocity of the first point cloud data can be obtained through the following steps, such as... Figure 4 As shown:

[0086] S401: Determine whether the first point cloud data is the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion.

[0087] If the first point cloud data is the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration, step S402 is executed, that is, the three-axis velocity of the first point cloud data is 0; if the first point cloud data is not the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration, step S403 is executed, that is, the three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference between the third point cloud data and the first point cloud data are acquired.

[0088] S402: The three-axis velocity of the first point cloud data is 0;

[0089] In a specific implementation, the point cloud acquisition device in this embodiment can acquire the first frame of point cloud data when it starts uniformly accelerating motion. That is, the first frame of point cloud data is the point cloud data acquired when the point cloud acquisition device is stationary. Therefore, if the first point cloud data is the first frame of point cloud data acquired by the point cloud acquisition device in a stationary state, then the three-axis velocity of the first point cloud data is 0.

[0090] S403: Acquire the three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference between the third point cloud data and the first point cloud data.

[0091] The third point cloud data is the point cloud data of the previous frame of the first point cloud data.

[0092] If the first point cloud data is not the first frame of point cloud data acquired by the point cloud acquisition device, then the three-axis velocity of the first point cloud data needs to be calculated based on the previous frame of point cloud data. That is, the three-axis velocity of the first point cloud data is calculated based on the three-axis velocity of the third point cloud data. The three-axis acceleration of the first point cloud data is acquired through the IMU, and the second acquisition time difference is obtained based on the timestamp when the third point cloud data is acquired and the timestamp when the first point cloud data is acquired.

[0093] S404: Input the three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference into the velocity calculation formula to obtain the three-axis velocity of the first point cloud data.

[0094] In the specific implementation, to calculate the three-axis velocity of the first point cloud data in this embodiment, it is necessary to calculate the corresponding velocity in the three coordinate systems of the world coordinate system, that is, to obtain the three-axis velocity of the first point cloud data.

[0095] The velocity of the third point cloud data in the X-axis direction of the world coordinate system, the acceleration of the first point cloud data in the X-axis direction of the world coordinate system, and the second acquisition time difference are input into the velocity calculation formula to obtain the X-axis velocity.

[0096] The velocity of the third point cloud data in the Y-axis direction of the world coordinate system, the acceleration of the first point cloud data in the Y-axis direction of the world coordinate system, and the second acquisition time difference are input into the velocity calculation formula to obtain the Y-axis velocity.

[0097] The velocity of the third point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the first point cloud data in the Z-axis direction of the world coordinate system, and the second acquisition time difference are input into the velocity calculation formula to obtain the Z-axis velocity.

[0098] It should be noted that the same formula can be used to calculate the X-axis velocity, Y-axis velocity, and Z-axis velocity in this embodiment. After calculating the X-axis velocity, Y-axis velocity, and Z-axis velocity, the three-axis velocities of the first point cloud data are obtained.

[0099] In addition, when calculating the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the first point cloud data in the Z-axis direction also needs to be subtracted from the gravitational acceleration of the point cloud acquisition device itself in order to eliminate the influence of gravitational acceleration on the calculation of the three-axis velocity of the first point cloud data in this embodiment.

[0100] In one implementation, the speed calculation formula in this embodiment is:

[0101] v = v' + at

[0102] Where v is the velocity of the first point cloud data along the corresponding axis in the world coordinate system, v' is the velocity of the third point cloud data along the corresponding axis in the world coordinate system, t is the second acquisition time difference, and a is the acceleration of the first point cloud data along the corresponding axis in the world coordinate system.

[0103] For example, let's take calculating the velocity of the first point cloud data in the X-axis direction of the world coordinate system. The velocity of the third point cloud data in the X-axis direction of the world coordinate system, the second acquisition time difference between the first and third point cloud data, and the acceleration of the first point cloud data in the X-axis direction of the world coordinate system are input into the velocity calculation formula to obtain the velocity of the first point cloud data in the X-axis direction.

[0104] For example, consider calculating the velocity of the first point cloud data in the Y-axis direction of the world coordinate system. Input the velocity of the third point cloud data in the Y-axis direction of the world coordinate system, the second acquisition time difference between the first and third point cloud data, and the acceleration of the first point cloud data in the Y-axis direction of the world coordinate system into the velocity calculation formula to obtain the velocity of the first point cloud data in the Y-axis direction.

[0105] Based on Figure 1 In a specific implementation, the following steps may be included after step S103, such as... Figure 5 As shown:

[0106] S104: Obtain the environmental map based on the second point cloud data after point cloud coordinate correction.

[0107] The second point cloud data, after point cloud coordinate correction, is processed by the front-end odometer to obtain a transformation matrix. The transformation matrix is ​​then optimized and loop closure tested in the back end, and finally a map is built to obtain a high-precision environmental map.

[0108] Example 2

[0109] like Figure 6 The diagram shown is a schematic diagram of a point cloud data processing device disclosed in Embodiment 2 of the present invention. It is applicable to the coordinate correction of point cloud data acquired by a point cloud acquisition device during at least approximately uniform acceleration (deceleration) motion, such as the coordinate correction of point cloud data acquired by a lidar during uniform acceleration (deceleration) motion.

[0110] In a specific implementation, the device may include the following units:

[0111] The data acquisition unit 601 is used to acquire the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first point cloud data and the second point cloud data; the first point cloud data and the second point cloud data are two frames of point cloud data continuously acquired by the point cloud acquisition device during uniform acceleration motion.

[0112] The displacement distortion calculation unit 602 is used to calculate the three-axis displacement distortion of the second point cloud data based on the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference.

[0113] The point cloud correction unit 603 is used to correct the point cloud coordinates of the second point cloud data based on the triaxial displacement distortion.

[0114] As can be seen from the above device, the point cloud data processing device disclosed in this invention calculates the three-axis displacement distortion of the point cloud coordinates of the second point cloud data by acquiring the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first and second point cloud data, and corrects the point cloud coordinates of the second point cloud data based on the three-axis displacement distortion. It is evident that by calculating the three-axis displacement distortion to correct the point cloud coordinates of the second point cloud data, this invention avoids the problem of low accuracy in the final 3D environment map caused by distortion in the point cloud data acquired during the movement of the point cloud acquisition device.

[0115] In one implementation, the displacement distortion calculation unit 602 in this device is specifically used for:

[0116] The velocity of the first point cloud data in the X-axis direction of the world coordinate system, the acceleration of the second point cloud data in the X-axis direction of the world coordinate system, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the X-axis displacement distortion.

[0117] The velocity of the first point cloud data in the Y-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Y-axis direction of the world coordinate system, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the Y-axis displacement distortion.

[0118] The velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the Z-axis displacement distortion.

[0119] In one implementation, the formula for calculating displacement distortion is:

[0120]

[0121] Where s is the displacement distortion of the second point cloud data in the corresponding axis of the world coordinate system, t is the first acquisition time difference, a is the acceleration of the second point cloud data in the corresponding axis of the world coordinate system, and v is the velocity of the first point cloud data in the corresponding axis of the world coordinate system.

[0122] In one implementation, before obtaining the Z-axis displacement distortion by inputting the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula, the method further includes:

[0123] Obtain the gravitational acceleration of the point cloud acquisition device;

[0124] The acceleration of the second point cloud data in the Z-axis direction of the world coordinate system is subtracted from the acceleration due to gravity to obtain the corrected acceleration of the second point cloud data in the Z-axis direction of the world coordinate system.

[0125] The velocity of the first point cloud data along the Z-axis of the world coordinate system, the acceleration of the second point cloud data along the Z-axis of the world coordinate system, and the first acquisition time difference are input into the displacement distortion calculation formula to obtain the Z-axis displacement distortion, including:

[0126] The velocity, corrected acceleration, and first acquisition time difference of the first point cloud data in the Z-axis direction of the world coordinate system are input into the displacement distortion calculation formula to obtain the Z-axis displacement distortion.

[0127] In one implementation, obtaining the three-axis velocity of the first point cloud data includes:

[0128] Determine whether the first point cloud data is the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion;

[0129] If the first point cloud data is the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion, then the three-axis velocity of the first point cloud data is determined to be 0.

[0130] If the first point cloud data is not the first frame of point cloud data acquired by the point cloud acquisition device during uniform acceleration motion, the three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference between the third point cloud data and the first point cloud data are acquired; the third point cloud data is the point cloud data of the previous frame of the first point cloud data.

[0131] The three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference are input into the velocity calculation formula to obtain the three-axis velocity of the first point cloud data.

[0132] In one implementation, the speed calculation formula is:

[0133] v = v' + at

[0134] Where v is the velocity of the first point cloud data along the corresponding axis in the world coordinate system, v' is the velocity of the third point cloud data along the corresponding axis in the world coordinate system, t is the second acquisition time difference, and a is the acceleration of the first point cloud data along the corresponding axis in the world coordinate system.

[0135] In one implementation, the device further includes a map acquisition unit:

[0136] An environmental map is obtained based on the second point cloud data after point cloud coordinate correction.

[0137] For specific limitations regarding the point cloud data processing device, please refer to the limitations regarding the point cloud data processing method mentioned above, which will not be repeated here. Each module in the aforementioned point cloud data processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0138] Example 3

[0139] like Figure 7 The diagram shown is a structural schematic of a computer device disclosed in Embodiment 3 of this application. The computer device includes a processor, a memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The network interface is used to communicate with external devices via a network connection. When executed by the processor, the computer program implements various steps of any embodiment of a point cloud data processing method.

[0140] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to perform the following steps:

[0141] The three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first and second point cloud data are acquired; the first and second point cloud data are two frames of point cloud data continuously acquired by the point cloud acquisition device during uniform acceleration motion.

[0142] Based on the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference, the three-axis displacement distortion of the second point cloud data is calculated.

[0143] The point cloud coordinates of the second point cloud data are corrected based on the three-axis displacement distortion.

[0144] Example 4

[0145] Embodiment 4 of this application discloses a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the steps of any embodiment of the point cloud data processing method described above.

[0146] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0147] The three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first and second point cloud data are acquired; the first and second point cloud data are two frames of point cloud data continuously acquired by the point cloud acquisition device during uniform acceleration motion.

[0148] Based on the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference, the three-axis displacement distortion of the second point cloud data is calculated.

[0149] The point cloud coordinates of the second point cloud data are corrected based on the three-axis displacement distortion.

[0150] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0151] It should also be understood that the term “and / or” as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0152] As used in this specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if [described condition or event] is detected" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once [described condition or event] is detected," or "in response to detection of [described condition or event]."

[0153] Furthermore, in the description of this invention and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0154] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of the invention include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0155] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM), etc.

[0156] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.

[0157] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.

Claims

1. A method for processing point cloud data, characterized in that, The method comprises: obtaining three-axis velocity of first point cloud data, three-axis acceleration of second point cloud data, and first acquisition time difference between the first point cloud data and the second point cloud data; the first point cloud data and the second point cloud data are two frames of point cloud data continuously obtained by a point cloud acquisition device in a uniform acceleration process; calculating three-axis displacement distortion of the second point cloud data according to the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference; correcting point cloud coordinates of the second point cloud data according to the three-axis displacement distortion; the calculating three-axis displacement distortion of the second point cloud data according to the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference comprises: inputting the velocity of the first point cloud data in the X-axis direction of the world coordinate system, the acceleration of the second point cloud data in the X-axis direction of the world coordinate system, and the first acquisition time difference into a displacement distortion calculation formula to obtain X-axis displacement distortion; inputting the velocity of the first point cloud data in the Y-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Y-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain Y-axis displacement distortion; inputting the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain Z-axis displacement distortion; before the inputting the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain Z-axis displacement distortion, the method further comprises: obtaining gravitational acceleration of the point cloud acquisition device; obtaining corrected acceleration of the second point cloud data in the Z-axis direction of the world coordinate system by subtracting the gravitational acceleration from the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system; the inputting the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the acceleration of the second point cloud data in the Z-axis direction of the world coordinate system, and the first acquisition time difference into the displacement distortion calculation formula to obtain Z-axis displacement distortion comprises: inputting the velocity of the first point cloud data in the Z-axis direction of the world coordinate system, the corrected acceleration, and the first acquisition time difference into the displacement distortion calculation formula to obtain Z-axis displacement distortion.

2. The method of claim 1, wherein, the displacement distortion calculation formula is: wherein, is a displacement distortion of the second point cloud data in a corresponding axis direction of a world coordinate system, is the first acquisition time difference, is an acceleration of the second point cloud data in a corresponding axis direction of a world coordinate system, is a velocity of the first point cloud data in a corresponding axis direction of a world coordinate system.

3. The method of claim 1, wherein, the obtaining three-axis velocity of first point cloud data comprises: judging whether the first point cloud data is first frame point cloud data obtained by the point cloud acquisition device in a uniform acceleration process; if the first point cloud data is first frame point cloud data obtained by the point cloud acquisition device in a uniform acceleration process, determining that the three-axis velocity of the first point cloud data is all 0. If the first point cloud data is not the first frame point cloud data obtained by the point cloud acquisition device in the process of uniform acceleration, the three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference between the third point cloud data and the first point cloud data are obtained; the third point cloud data is the previous frame point cloud data of the first point cloud data. The three-axis velocity of the third point cloud data, the three-axis acceleration of the first point cloud data, and the second acquisition time difference are input into a velocity calculation formula to obtain the three-axis velocity of the first point cloud data.

4. The method of claim 3, wherein, The velocity calculation formula is: wherein, is a velocity of the first point cloud data in a corresponding axis direction of a world coordinate system, is a velocity of the third point cloud data in a corresponding axis direction of a world coordinate system, is the second acquisition time difference, and a is an acceleration of the first point cloud data in a corresponding axis direction of a world coordinate system.

5. The method of claim 1, wherein, After the coordinate of the second point cloud data is corrected according to the three-axis displacement distortion, the method further comprises: According to the second point cloud data after the point cloud coordinate correction processing, an environmental map is obtained.

6. A point cloud data processing apparatus, characterized by comprising: Comprise: A data acquisition unit is configured to acquire the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference between the first point cloud data and the second point cloud data; the first point cloud data and the second point cloud data are two frames of point cloud data continuously obtained by the point cloud acquisition device in the process of uniform acceleration; A displacement distortion calculation unit is configured to calculate the three-axis displacement distortion of the second point cloud data according to the three-axis velocity of the first point cloud data, the three-axis acceleration of the second point cloud data, and the first acquisition time difference; A point cloud correction unit is configured to correct the point cloud coordinates of the second point cloud data according to the three-axis displacement distortion; The point cloud data processing device is configured to implement the method of claim 1.

7. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the computer program to implement the point cloud data processing method of any one of claims 1 to 5.

8. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 7. The computer program is executed by the processor to implement the point cloud data processing method of any one of claims 1 to 5.

Citation Information

Patent Citations

  • Motion compensation method and device for three-dimensional point cloud data, medium and electronic equipment

    CN115423839A