A method, device and storage medium for accelerating real-time solution of laser point cloud data

CN117368940BActive Publication Date: 2026-04-07SHANDONG SENTER ELECTRONICS
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-30
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

尽管高精度实时点云解算算法已经很大程度上简化了解算复杂性和数据量,但相较于手持式android设备的arm cpu架构的计算能力,它自身的运算速度还是无法满足android设备实时显示解算结果的要求

Benefits of technology

[0018] This application provides a method, device, and storage medium for accelerating real-time computation of laser point cloud data. By using the Vulkan computing module built into the Android platform, the advantages of GPU's parallel computing capabilities are fully utilized. The real-time computation algorithm is ported to the GPU for execution, enabling faster and more efficient computation results and greatly improving the efficiency of point cloud computation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117368940B_ABST
    Figure CN117368940B_ABST
Patent Text Reader

Abstract

This application discloses a method, device, and storage medium for accelerating real-time processing of laser point cloud data, aiming to solve the following technical problem: how to achieve fast real-time processing of laser point cloud data on a handheld Android device. The method includes: collecting corresponding initial data through a lidar, inertial measurement unit (IMU), and RTK module; wherein the initial data includes point cloud data, attitude data, and positioning data; preprocessing the initial data to obtain standard data, and transmitting the standard data to the Vulkan computing module in the GPU; wherein the standard data includes standard point cloud data, standard attitude data, and standard positioning data; and processing the standard data based on a preset real-time processing algorithm in the Vulkan computing module to determine the unified spatial coordinates corresponding to the point cloud data. This application achieves fast real-time processing of laser point cloud data on a handheld Android device through the above method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field, and in particular to a method, device and storage medium for accelerating real-time computation of laser point cloud data. Background Technology

[0002] The main principle of the real-time point cloud data processing algorithm is to obtain the point cloud data acquired by the lidar sensor device and the high-precision position and attitude data provided by the RTK inertial navigation module, and then use the algorithm to calculate the coordinate position of the point cloud data in real time, thereby obtaining high-precision point cloud coordinates.

[0003] Existing traditional SLAM algorithms require extracting feature values, feature vectors, and performing loop closure detection from point cloud data. They also place high demands on user operations during data acquisition and consume significant CPU and memory resources to calculate the point cloud coordinates after the acquisition is complete. This necessitates the use of high-performance CPU platforms and requires considerable computation time to obtain results, making it unsuitable for real-time calculation and display.

[0004] Compared to traditional SLAM algorithms, high-precision real-time point cloud computation methods only require calculating the point cloud data at the current moment. This reduces the amount of data to be processed and the algorithm's complexity, allowing for faster results. Although high-precision real-time point cloud computation algorithms have significantly simplified computational complexity and reduced data volume, their processing speed still falls short of the computing power of the ARM CPU architecture in handheld Android devices, which require real-time display of results. Therefore, achieving rapid real-time computation of laser point cloud data on handheld Android devices remains a pressing technical challenge. Summary of the Invention

[0005] This application provides a method, device, and storage medium for accelerating real-time computation of laser point cloud data, in order to solve the following technical problem: how to achieve fast real-time computation of laser point cloud data on a handheld Android device.

[0006] In a first aspect, embodiments of this application provide a method for accelerating real-time computation of laser point cloud data. The method includes: acquiring corresponding initial data via a lidar, an inertial measurement unit (IMU), and an RTK module; wherein the initial data includes point cloud data, attitude data, and positioning data; preprocessing the initial data to obtain standard data, and transmitting the standard data to a Vulkan computing module in a GPU; wherein the standard data includes standard point cloud data, standard attitude data, and standard positioning data; and performing computation on the standard data based on a preset real-time computation algorithm in the Vulkan computing module to determine the unified spatial coordinates corresponding to the point cloud data.

[0007] In one implementation of this application, the point cloud data includes: point cloud timestamp information, point cloud spatial coordinate data, and point cloud reflectivity data; the attitude data includes: IMU timestamp information, gravitational acceleration data, and linear acceleration data; and the positioning data includes: RTK timestamp information, latitude and longitude data, and elevation data.

[0008] In one implementation of this application, the initial data is preprocessed to obtain standard data, specifically including: based on a preset initial timestamp, processing the point cloud timestamp information, IMU timestamp information, and RTK timestamp information respectively using a preset timestamp compression algorithm to obtain standard point cloud timestamp data, standard IMU timestamp data, and standard RTK timestamp data in float format; converting uint8 format point cloud reflectivity data into standard point cloud reflectivity data in float format using a preset format conversion algorithm; converting gravity acceleration data and linear acceleration data into corresponding quaternions using the Mahony algorithm, defining the quaternion corresponding to the gravity acceleration data as standard gravity acceleration data in float format, and defining the quaternion corresponding to the linear acceleration data as standard linear acceleration data in float format; and defining the point cloud spatial coordinate data, latitude and longitude data, and elevation data as standard point cloud spatial coordinate data, standard latitude and longitude data, and standard elevation data in float format, respectively.

[0009] In one implementation of this application, standard data is solved based on a pre-set real-time solution algorithm in the Vulkan computing module. Specifically, this includes: determining approximate standard attitude data and approximate standard positioning data corresponding to the standard point cloud data at the time to be solved based on standard point cloud timestamp data, standard IMU timestamp data, and standard RTK timestamp data; transforming the approximate standard attitude data using matrix transformation rules to determine the corresponding rotation matrix, and transforming the approximate standard positioning data using Moccato coordinate transformation rules to determine the corresponding Moccato projection coordinates; determining the spatial transformation matrix based on the rotation matrix and Moccato projection coordinates, and calculating the spatial transformation matrix based on a pre-set unified spatial coordinate transformation formula to determine the unified spatial coordinates corresponding to the point cloud data.

[0010] In one implementation of this application, based on standard point cloud timestamp data, standard IMU timestamp data, and standard RTK timestamp data, the approximate standard attitude data and approximate standard positioning data corresponding to the standard point cloud data at the time to be solved are determined. Specifically, this includes: traversing the standard attitude data and standard positioning data to determine the two standard attitude data and two standard positioning data closest to the time to be solved; and based on the two standard attitude data and two standard positioning data, determining the approximate standard attitude data and approximate standard positioning data corresponding to the time to be solved by linear interpolation.

[0011] In one implementation of this application, the unified spatial coordinate transformation formula is expressed as follows:

[0012]

[0013] Where, r 11 ,r 12 ,…r 33 Given a 3x3 rotation matrix, t x ,t y ,t z Here, x, y, z represent standard point cloud spatial coordinates, and X0, Y0, Z0 represent unified spatial coordinates. This is the space transformation matrix.

[0014] In one implementation of this application, before preprocessing the initial data to obtain standard data, the method further includes: transmitting the point cloud data and attitude data acquired by the lidar and the inertial measurement unit (IMU) to a C++ processing thread; and reading the positioning data stored in the Java layer using Android's JNI technology and transmitting the positioning data to the C++ processing thread.

[0015] In one implementation of this application, after determining the unified spatial coordinates corresponding to the point cloud data, the method further includes: rendering and displaying the 3D scene using OpenGL rendering technology based on the unified spatial coordinates and standard point cloud reflectivity data; and storing the standard point cloud data in a LAS format file for saving.

[0016] Secondly, embodiments of this application also provide a device for accelerating real-time computation of laser point cloud data, characterized in that the device includes: a processor; and a memory storing executable code thereon, wherein when the executable code is executed, the processor performs a method for accelerating real-time computation of laser point cloud data as claimed in any one of claims 1-8.

[0017] Thirdly, embodiments of this application also provide a non-volatile computer storage medium for accelerating real-time computation of laser point cloud data, storing computer-executable instructions. The computer-executable instructions are characterized by: acquiring corresponding initial data through a lidar, an inertial measurement unit (IMU), and an RTK module; wherein the initial data includes point cloud data, attitude data, and positioning data; preprocessing the initial data to obtain standard data, and transmitting the standard data to the Vulkan computing module in the GPU; wherein the standard data includes standard point cloud data, standard attitude data, and standard positioning data; and performing computation on the standard data based on a preset real-time computation algorithm in the Vulkan computing module to determine the unified spatial coordinates corresponding to the point cloud data.

[0018] This application provides a method, device, and storage medium for accelerating real-time computation of laser point cloud data. By using the Vulkan computing module built into the Android platform, the advantages of GPU's parallel computing capabilities are fully utilized. The real-time computation algorithm is ported to the GPU for execution, enabling faster and more efficient computation results and greatly improving the efficiency of point cloud computation. Attached Figure Description

[0019] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0020] Figure 1 A flowchart illustrating a method for accelerating real-time computation of laser point cloud data, as provided in this application embodiment;

[0021] Figure 2 This is a schematic diagram of the internal structure of a device for accelerating real-time computation of laser point cloud data, provided as an embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0023] To address the issue that the computing power of ARM CPUs in handheld Android devices is still insufficient to meet the requirements for real-time display of computation results, the following two solutions exist:

[0024] The first approach is to improve CPU performance, which means using a higher-end CPU, or even a desktop-grade CPU, to meet the requirements. This places a significant burden on the overall material costs of the equipment and related applications, and also increases the development and adaptation cycle of the new platform, greatly increasing the overall cost.

[0025] The second approach is to use multi-threaded parallel computation, which also requires significant CPU resources. Experiments have shown that this approach also fails to meet real-time computation requirements. Furthermore, the increased thread locking and CPU resource consumption cause application stuttering and slowdowns.

[0026] Therefore, neither of the above two solutions is the optimal solution for handheld Android devices.

[0027] This application provides a method, device, and storage medium for accelerating real-time computation of laser point cloud data, in order to solve the following technical problem: how to achieve fast real-time computation of laser point cloud data on a handheld Android device.

[0028] The technical solutions proposed in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0029] Figure 1 A flowchart illustrating a method for accelerating real-time computation of laser point cloud data, provided in an embodiment of this application. Figure 1 As shown in the figure, the method for accelerating real-time calculation of laser point cloud data provided in this application embodiment specifically includes the following steps:

[0030] Step 101: Collect the corresponding initial data using the lidar, inertial measurement unit (IMU), and RTK module respectively.

[0031] In one embodiment of this application, initial data is collected by a lidar, an inertial measurement unit (IMU), and an RTK module. The initial data includes point cloud data, attitude data, and positioning data. The lidar is used to collect point cloud data, the IMU is used to collect attitude data, and the RTK module is used to collect positioning data. The point cloud data includes: point cloud timestamp information, point cloud spatial coordinate data, and point cloud reflectivity data. The attitude data includes: IMU timestamp information, gravitational acceleration data, and linear acceleration data. The positioning data includes: RTK timestamp information, latitude and longitude data, and elevation data.

[0032] Step 102: Preprocess the initial data to obtain standard data, and transfer the standard data into the Vulkan computing module in the GPU.

[0033] In one embodiment of this application, after acquiring corresponding initial data through the lidar, inertial measurement unit (IMU), and RTK module, the point cloud data and attitude data acquired by the lidar and IMU are transmitted to the C++ processing thread; the positioning data stored in the Java layer is read through Android's JNI technology, and the positioning data is transmitted to the C++ processing thread.

[0034] Furthermore, the initial data is preprocessed in the C++ processing thread to obtain standard data.

[0035] Specifically, based on a preset initial timestamp, the point cloud timestamp information, IMU timestamp information, and RTK timestamp information are processed using a preset timestamp compression algorithm to obtain standard point cloud timestamp data, standard IMU timestamp data, and standard RTK timestamp data in float format. A preset format conversion algorithm is used to convert uint8 format point cloud reflectivity data into standard point cloud reflectivity data in float format. The Mahony algorithm is used to convert gravity acceleration data and linear acceleration data into corresponding quaternions, and the quaternions corresponding to the gravity acceleration data are defined as standard gravity acceleration data in float format, and the quaternions corresponding to the linear acceleration data are defined as standard linear acceleration data in float format. Finally, the point cloud spatial coordinate data, latitude and longitude data, and elevation data are defined as standard point cloud spatial coordinate data, standard latitude and longitude data, and standard elevation data in float format, respectively.

[0036] It should be noted that the point cloud timestamp information, point cloud spatial coordinate data, and point cloud reflectivity data returned by the LiDAR are in different formats. The Vlukan calculation module only accepts data input in float and int formats. Therefore, these three types of data need to be uniformly converted to float format before being transmitted to the GPU's Vlukan calculation module. For timestamp data, since it is essentially a 64-bit unsigned int, directly converting it to float format would result in loss of precision in the transmitted data, leading to data matching failures in the algorithm and thus failing to obtain correct calculation results. Therefore, we need to compress the timestamp data into a float-sized data set. Since the calculation process does not require detailed information about the entire timestamp, we only need to determine the time difference between timestamps to perform the calculation. Therefore, this embodiment determines an initial timestamp. After each acquisition of point cloud data, the difference between the point cloud timestamp information and the initial timestamp is used to determine a corresponding relative time difference. This relative time difference is then used as the timestamp information for that point cloud data, and this timestamp information is defined as float format to obtain standard point cloud timestamp data. The initial timestamp can be the power-on time of the data acquisition module corresponding to the three data acquisition units, or it can be set according to the actual situation. This application does not limit it here.

[0037] In one embodiment of this application, the point cloud spatial coordinate data itself consists of three sets of float format data, so no conversion is required. The point cloud reflectance data is in uint8 format, therefore, this embodiment of the application will use a corresponding preset format conversion algorithm to convert the uint8 format point cloud reflectance data into standard float format point cloud reflectance data.

[0038] In one embodiment of this application, the IMU timestamp information and the point cloud timestamp information have the same format, and are processed in the same way as described above to obtain standard IMU timestamp data. Gravitational acceleration data and linear acceleration data can be converted into a quaternion using the Mahony algorithm, and then the corresponding quaternion is defined as standard gravitational acceleration data and standard linear acceleration data in float format.

[0039] In one embodiment of this application, the RTK timestamp information, IMU timestamp information, and point cloud timestamp information have the same format and are processed in the same way as described above to obtain standard RTK timestamp data. Latitude and longitude data and elevation data can be directly defined as float format.

[0040] In one embodiment of this application, after preprocessing the initial data to obtain standard data, the standard data is transmitted into the Vulkan computing module in the GPU.

[0041] Step 103: Based on the preset real-time calculation algorithm in the Vulkan computing module, calculate the standard data to determine the unified spatial coordinates corresponding to the point cloud data.

[0042] In one embodiment of this application, after the standard data is transmitted into the Vulkan computing module in the GPU, the Vulkan computing module will perform calculations on the standard data based on the preset real-time calculation algorithm therein to determine the unified spatial coordinates corresponding to the point cloud data.

[0043] Specifically, based on standard point cloud timestamp data, standard IMU timestamp data, and standard RTK timestamp data, approximate standard attitude data and approximate standard positioning data corresponding to the standard point cloud data at the time to be solved are determined. The approximate standard attitude data is transformed using matrix transformation rules to determine the corresponding rotation matrix, and the approximate standard positioning data is transformed using Moccato coordinate transformation rules to determine the corresponding Moccato projection coordinates. Based on the rotation matrix and Moccato projection coordinates, a spatial transformation matrix is ​​determined, and based on a preset unified spatial coordinate transformation formula, the spatial transformation matrix is ​​calculated to determine the unified spatial coordinates corresponding to the point cloud data.

[0044] It should be noted that since the LiDAR, IMU, and RTK modules may acquire initial data at different frequencies, we cannot accurately obtain the attitude and positioning data corresponding to the point cloud data at a specific moment. Therefore, we need to determine the approximate standard attitude and positioning data corresponding to the standard point cloud data at the moment to be calculated.

[0045] Specifically, the standard attitude data and standard positioning data are traversed to determine the two standard attitude data and two standard positioning data that are closest to the time to be solved; based on the two standard attitude data and two standard positioning data, the approximate standard attitude data and approximate standard positioning data corresponding to the time to be solved are determined by linear interpolation.

[0046] In one embodiment of this application, for example, the power-on time of the data acquisition modules corresponding to the three data acquisition units is controlled to be 0, the data acquisition frequency of the lidar is 20ms / time, the data acquisition frequency of the inertial measurement unit (IMU) is 25ms / time, and the data acquisition frequency of the RTK module is 30ms / time. Now, it is necessary to solve the point cloud data corresponding to 80ms, which requires determining an approximate standard attitude data and an approximate standard positioning data for 80ms. Specifically, the two most recent standard attitude data points corresponding to 80ms are the standard attitude data at 75ms and the standard attitude data at 100ms. Therefore, the approximate standard attitude data corresponding to 80ms can be determined using linear interpolation. Similarly, the two most recent standard positioning data points corresponding to 80ms are the standard positioning data at 60ms and the standard positioning data at 90ms. Therefore, the approximate standard positioning data corresponding to 80ms can be determined using linear interpolation. It is understandable that the approximate standard attitude data includes standard 80ms timestamp data, approximate standard gravitational acceleration data, and approximate standard linear acceleration data; the approximate standard positioning data includes standard 80ms timestamp data, approximate standard latitude and longitude data, and approximate standard elevation data.

[0047] In one embodiment of this application, the unified spatial coordinate transformation formula is expressed as follows:

[0048]

[0049] Where, r 11 ,r 12 ,…r 33 Given a 3x3 rotation matrix, t x ,t y ,t z Here, x, y, z represent standard point cloud spatial coordinates, and X0, Y0, Z0 represent unified spatial coordinates. This is the space transformation matrix.

[0050] In one embodiment of this application, after determining the unified spatial coordinates corresponding to the point cloud data, the three-dimensional scene is rendered and displayed using OpenGL rendering technology based on the unified spatial coordinates and standard point cloud reflectivity data; at the same time, the standard point cloud data is stored using the universal storage format LAS file.

[0051] This application significantly improves the efficiency of point cloud processing by employing the Vulkan computing module to accelerate real-time point cloud data processing. Experimental comparisons demonstrate that processing the same set of data using the Vulkan computing module takes only 1 / 10 of the time required using the same platform's CPU, greatly reducing processing time and providing immediate results. After verifying the method of accelerating real-time point cloud data processing using the Vulkan computing module, we can achieve real-time data processing and display on handheld Android devices.

[0052] Based on the same inventive concept, this application also provides a device for accelerating real-time computation of laser point cloud data, the internal structure of which is as follows: Figure 2 As shown.

[0053] Figure 2 This is a schematic diagram of the internal structure of a device for accelerating real-time computation of laser point cloud data, provided as an embodiment of this application. Figure 2 As shown, the device includes: a processor 201; and a memory 202 storing executable instructions, which, when executed, cause the processor 201 to perform a method for accelerating real-time computation of laser point cloud data as described above.

[0054] In one embodiment of this application, the processor 201 is used to collect corresponding initial data through a lidar, an inertial measurement unit (IMU), and an RTK module, respectively. The initial data includes point cloud data, attitude data, and positioning data. The initial data is preprocessed to obtain standard data, which is then transmitted to the Vulkan computing module in the GPU. The standard data includes standard point cloud data, standard attitude data, and standard positioning data. Based on a preset real-time calculation algorithm in the Vulkan computing module, the standard data is calculated to determine the unified spatial coordinates corresponding to the point cloud data.

[0055] Some embodiments of this application provide corresponding to Figure 1 A non-volatile computer storage medium for accelerating real-time computation of laser point cloud data, storing computer-executable instructions, wherein the computer-executable instructions are configured as follows:

[0056] Initial data is collected by lidar, inertial measurement unit (IMU), and RTK module, respectively; the initial data includes point cloud data, attitude data, and positioning data.

[0057] The initial data is preprocessed to obtain standard data, and the standard data is then transferred to the Vulkan computing module in the GPU. The standard data includes standard point cloud data, standard pose data, and standard localization data.

[0058] Based on the pre-set real-time calculation algorithm in the Vulkan computing module, standard data is calculated to determine the unified spatial coordinates corresponding to the point cloud data.

[0059] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments for IoT devices and media are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0060] The systems, media, and methods provided in this application are one-to-one correspondences. Therefore, the systems and media also have similar beneficial technical effects as their corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the systems and media will not be repeated here.

[0061] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0062] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0063] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0064] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0065] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0066] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0067] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0068] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0069] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for accelerating real-time computation of laser point cloud data, characterized in that, The method includes: Initial data is collected by lidar, inertial measurement unit (IMU), and RTK module respectively. The initial data includes point cloud data, attitude data, and positioning data. The point cloud data includes point cloud timestamp information, point cloud spatial coordinate data, and point cloud reflectivity data. The attitude data includes IMU timestamp information, gravitational acceleration data, and linear acceleration data. The positioning data includes RTK timestamp information, latitude and longitude data, and elevation data. The initial data is preprocessed to obtain standard data, and the standard data is then transmitted into the Vulkan computing module in the GPU; wherein, the standard data includes: standard point cloud data, standard pose data, and standard localization data; Based on the preset real-time calculation algorithm in the Vulkan calculation module, the standard data is calculated to determine the unified spatial coordinates corresponding to the point cloud data; The initial data is preprocessed to obtain standard data, specifically including: Based on a preset initial timestamp, the point cloud timestamp information, the IMU timestamp information, and the RTK timestamp information are processed by a preset timestamp compression algorithm to obtain standard point cloud timestamp data, standard IMU timestamp data, and standard RTK timestamp data in float format. The uint8 format point cloud reflectance data is converted into standard float format point cloud reflectance data using a preset format conversion algorithm. Using the Mahony algorithm, the gravitational acceleration data and the linear acceleration data are converted into corresponding quaternions. The quaternions corresponding to the gravitational acceleration data are defined as standard gravitational acceleration data in float format, and the quaternions corresponding to the linear acceleration data are defined as standard linear acceleration data in float format. The point cloud spatial coordinate data, the latitude and longitude data, and the elevation data are defined as standard point cloud spatial coordinate data, standard latitude and longitude data, and standard elevation data in float format, respectively. The method further includes: Based on the initial timestamp, after each acquisition of point cloud data, the point cloud timestamp information in the point cloud data is subtracted from the initial timestamp to determine a corresponding relative time difference. The relative time difference is used as the timestamp information of the point cloud data, and this timestamp information is defined as float format to obtain standard point cloud timestamp data.

2. The method for accelerating real-time computation of laser point cloud data according to claim 1, characterized in that, Based on the preset real-time calculation algorithm in the Vulkan computing module, the standard data is calculated, specifically including: Based on the standard point cloud timestamp data, the standard IMU timestamp data, and the standard RTK timestamp data, determine the approximate standard attitude data and approximate standard positioning data corresponding to the standard point cloud data at the time to be calculated; The approximate standard attitude data is transformed using matrix transformation rules to determine the corresponding rotation matrix, and the approximate standard positioning data is transformed using Moccato coordinate transformation rules to determine the corresponding Moccato projection coordinates. Based on the rotation matrix and the Moccato projection coordinates, a spatial transformation matrix is ​​determined, and the spatial transformation matrix is ​​calculated based on a preset unified spatial coordinate transformation formula to determine the unified spatial coordinates corresponding to the point cloud data.

3. The method for accelerating real-time computation of laser point cloud data according to claim 2, characterized in that, Based on the standard point cloud timestamp data, the standard IMU timestamp data, and the standard RTK timestamp data, the approximate standard attitude data and approximate standard positioning data corresponding to the standard point cloud data at the time to be calculated are determined, specifically including: Traverse the standard attitude data and the standard positioning data to determine the two standard attitude data and two standard positioning data that are closest to the time to be solved; Based on the two standard attitude data and the two standard positioning data, the approximate standard attitude data and approximate standard positioning data corresponding to the time to be solved are determined by linear interpolation.

4. The method for accelerating real-time computation of laser point cloud data according to claim 2, characterized in that, The formula for unified spatial coordinate transformation is expressed as follows: Where, r 11 , r 12 ,…r 33 Given a 3x3 rotation matrix, t x , t y , t z Here, x, y, z represent standard point cloud spatial coordinates, and X0, Y0, Z0 represent unified spatial coordinates. This is the space transformation matrix.

5. The method for accelerating real-time computation of laser point cloud data according to claim 1, characterized in that, Before preprocessing the initial data to obtain standard data, the method further includes: The point cloud data and attitude data acquired by the lidar and the inertial measurement unit (IMU) are respectively transmitted to the C++ processing thread; The location data stored in the Java layer is read using Android's JNI technology, and the location data is then transmitted to the C++ processing thread.

6. The method for accelerating real-time computation of laser point cloud data according to claim 1, characterized in that, After determining the unified spatial coordinates corresponding to the point cloud data, the method further includes: Based on the unified spatial coordinates and the standard point cloud reflectivity data, the 3D scene is rendered and displayed using OpenGL rendering technology; and The standard point cloud data is stored in a LAS format file and saved.

7. A device for accelerating real-time computation of laser point cloud data, characterized in that, The device includes: processor; The processor also includes a memory storing executable code, which, when executed, causes the processor to perform a method for accelerating real-time computation of laser point cloud data as described in any one of claims 1-6.

8. A non-volatile computer storage medium for accelerating real-time computation of laser point cloud data, storing computer-executable instructions, characterized in that, When the computer-executable instructions are executed, a method for accelerating real-time computation of laser point cloud data as described in any one of claims 1-6 is implemented.

Citation Information

Patent Citations

  • Characteristic storage method of laser odometer, electronic equipment and storage medium

    CN111696159A

  • External parameter calibration method and device for integrated navigation equipment and laser radar

    CN114325667A