A lidar data processing system

By directly processing LiDAR data through the receiving module and preprocessing module, the CPU load is reduced. The accelerator module is used for calculation, which solves the problems of high CPU utilization and long processing time, and achieves efficient LiDAR data processing.

CN115184957BActive Publication Date: 2026-02-10CHONGQING UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210720316.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-23
Publication Date
2026-02-10
Estimated Expiration
2042-06-23

AI Technical Summary

Technical Problem

Existing LiDAR data processing methods require the CPU to handle a large amount of data transmission, protocol parsing, and computation, resulting in high CPU utilization and extended processing time.

Method used

Protocol parsing and preprocessing are performed directly by the receiving module and the preprocessing module, reducing the involvement of the CPU. The accelerator module is used for computation, and the central processing module is only responsible for issuing instructions and configuring information.

Benefits of technology

It significantly reduces CPU utilization, shortens data transmission paths, and prevents excessive latency in lidar data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115184957B_ABST
    Figure CN115184957B_ABST
Patent Text Reader

Abstract

The application discloses a laser radar data processing system, comprising: a central processing module, configured to configure the receiving module and the preprocessing module with receiving module configuration information and preprocessing module configuration information respectively in response to user input information configuration instructions; a receiving module, configured to perform protocol analysis on laser radar messages when the laser radar messages are received, obtain laser radar analysis messages, and send the laser radar analysis messages to the preprocessing module; a preprocessing module, configured to perform preprocessing on the laser radar analysis messages through a preprocessing program when the laser radar analysis messages are received, obtain laser radar data, and send the laser radar data to an accelerator module; and the accelerator module, configured to perform calculation and processing on the laser radar data, and obtain laser radar data calculation results. The application can significantly reduce the occupancy rate of the central processing module and prevent the laser radar data processing time delay from being too long.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, and in particular to a laser radar data processing system. BACKGROUND

[0002] Due to the advantages of high resolution, good concealment and strong anti-interference ability, the laser radar has become one of the commonly used sensors in the automatic driving car. After receiving the laser radar data, the vehicle embedded system needs to process the laser radar data. The existing laser radar data processing method usually writes the laser radar data into the DRAM of the vehicle embedded system first, then the CPU of the vehicle embedded system copies the laser radar data from the DRAM and performs protocol analysis, further, the CPU copies the laser radar data after protocol analysis to the user space for preprocessing, and then the user application layer performs calculation and processing on the preprocessed laser radar data through the CPU. This method requires the CPU of the vehicle embedded system to undertake a large amount of data transmission work, protocol analysis work and calculation and processing work, resulting in high CPU occupancy and long laser radar data processing time delay. SUMMARY

[0003] The present application provides a laser radar data processing system to solve the problem that the existing laser radar data processing method requires the CPU to undertake a large amount of data transmission work, protocol analysis work and calculation and processing work in the process of processing the laser radar data, resulting in high CPU occupancy and long laser radar data processing time delay. Through the receiving module, the laser radar message can be directly protocol analyzed according to the instruction sent by the central processing module, and the laser radar analysis message is sent to the storage module or the preprocessing module. Through the preprocessing module, the laser radar analysis message can be directly preprocessed according to the instruction sent by the central processing module, and the preprocessed laser radar data is sent to the accelerator module for calculation and processing, so that the central processing module only needs to undertake the instruction issuing work and the information configuration work of the receiving module and the preprocessing module, which significantly reduces the occupancy of the central processing module and prevents the laser radar data processing time delay from being too long.

[0004] In order to solve the above technical problems, the present application provides a laser radar data processing system, which comprises a central processing module, a receiving module, a preprocessing module and an accelerator module.

[0005] The central processing module is used for generating receiving module configuration information and preprocessing module configuration information in response to the information configuration instruction input by the user, and configuring the receiving module configuration information in the receiving module and the preprocessing module configuration information in the preprocessing module.

[0006] The receiving module is configured to, when receiving the laser radar message, perform protocol analysis on the laser radar message based on the receiving module configuration information in response to the analysis instruction sent by the central processing module, to obtain a laser radar analysis message; and send the laser radar analysis message to the preprocessing module in response to the data transmission instruction sent by the central processing module.

[0007] The preprocessing module is configured to, when receiving the laser radar analysis message, perform preprocessing on the laser radar analysis message based on the preprocessing module configuration information by using a preset preprocessing program in response to the preprocessing instruction sent by the central processing module, to obtain laser radar data, and send the laser radar data to the accelerator module.

[0008] The accelerator module is configured to perform calculation processing on the laser radar data, to obtain a laser radar data calculation result.

[0009] As a preferred solution, the system further comprises a storage module.

[0010] The receiving module is further configured to send the laser radar analysis message to the storage module in response to the data transmission instruction.

[0011] The storage module is configured to, when receiving the laser radar analysis message, map the laser radar analysis message to a process address space of the central processing module.

[0012] As a preferred solution, the receiving module comprises a protocol stack, a data distribution unit and a DMA controller.

[0013] The protocol stack is configured to, in response to the analysis instruction, filter the laser radar message to obtain a target laser radar message sent by a laser radar sensor; perform protocol analysis on the target laser radar message to obtain the laser radar analysis message; and compare and analyze configuration information in the laser radar analysis message with the receiving module configuration information, and send the laser radar analysis message meeting preset sending requirements to the data distribution unit.

[0014] The data distribution unit is configured to, in response to the data transmission instruction, send the laser radar analysis message meeting the preset sending requirements to the DMA controller based on the receiving module configuration information, and send a transmission control instruction to the DMA controller.

[0015] The DMA controller is configured to, in response to the transmission control instruction, send the laser radar analysis message meeting the preset sending requirements to the preprocessing module or the storage module through a plurality of groups of DMA channels.

[0016] As a preferred embodiment, the receiving module further includes a message receiving unit and a receiving module register group;

[0017] The message receiving unit is used to receive the lidar message and send the lidar message to the protocol stack;

[0018] The receiving module register group is used to receive the receiving module configuration information, the parsing instruction, and the data transmission instruction, and to store the receiving module configuration information, send the parsing instruction to the protocol stack, and send the data transmission instruction to the data distribution unit.

[0019] As a preferred embodiment, the preprocessing module includes an identification unit, a DIFOP parsing unit, and an MSOP parsing unit;

[0020] The identification unit is used to filter messages according to the frame header of the LiDAR parsing message when it receives the LiDAR parsing message, obtain the DIFOP message and the MSOP message, and send the DIFOP message to the DIFOP parsing unit and the MSOP message to the MSOP parsing unit.

[0021] The DIFOP parsing unit is used to respond to the preprocessing instruction, parse the DIFOP message through the preprocessing program, obtain the real-time status information of the lidar sensor, and send the real-time status information to the MSOP parsing unit;

[0022] The MSOP parsing unit is used to respond to the preprocessing instruction, based on the preprocessing module configuration information and the real-time status information, to parse the MSOP message through the preprocessing program, obtain the lidar data, and send the lidar data to the accelerator module.

[0023] As a preferred embodiment, the preprocessing module further includes a preprocessing module register group;

[0024] The preprocessing module register group is used to receive the preprocessing module configuration information and the preprocessing instructions, store the preprocessing module configuration information, and send the preprocessing instructions to the DIFOP parsing unit and the MSOP parsing unit respectively.

[0025] As a preferred embodiment, the MSOP parsing unit includes an angle calibration subunit, an intensity calibration subunit, and a coordinate calculation subunit;

[0026] The angle calibration subunit is used to respond to the preprocessing instruction, perform angle calibration on the data in the MSOP message based on the preprocessing module configuration information and the real-time status information, and send the angle-calibrated data to the intensity calibration subunit.

[0027] The intensity calibration subunit is used to perform intensity calibration on the angle-calibrated data through the preprocessing program based on the preprocessing module configuration information and the real-time status information, and then send the intensity-calibrated data to the coordinate calculation subunit.

[0028] The coordinate calculation subunit is used to perform coordinate calculations on the intensity-calibrated data based on the preprocessing module configuration information and the real-time status information, generate the lidar data, and send the lidar data to the accelerator module.

[0029] As a preferred embodiment, the protocol stack is also used for:

[0030] In response to the parsing command, the lidar message is filtered to obtain ARP and ICMP messages, and a response is given to the ARP and ICMP messages.

[0031] As a preferred embodiment, the message receiving unit includes an Ethernet RX subunit and a FIFO subunit;

[0032] The Ethernet RX subunit is used to receive the lidar message, perform CRC check on the data frames in the lidar message, and send the lidar message that meets the preset check requirements to the FIFO subunit.

[0033] The FIFO subunit is used to buffer the Ethernet frames in the lidar message that meets the preset verification requirements, and send the lidar message after buffering the Ethernet frames to the protocol stack.

[0034] As a preferred embodiment, the receiving module further includes an AXI interface unit;

[0035] The AXI interface unit is used to send the LiDAR parsing message that meets the preset sending requirements to the storage module in AXI4-Stream format when the DMA controller sends the LiDAR parsing message that meets the preset sending requirements to the storage module through several sets of DMA channels.

[0036] Compared to existing technologies, the beneficial effects of this invention are that the receiving module can directly parse the lidar message according to the instructions sent by the central processing module, and send the parsed lidar message to the storage module or preprocessing module. The preprocessing module can directly preprocess the lidar message according to the instructions sent by the central processing module, and send the preprocessed lidar data to the accelerator module for calculation. This allows the central processing module to only handle the instruction sending and the information configuration work of the receiving module and the preprocessing module, significantly reducing the occupancy rate of the central processing module and preventing excessive delay in lidar data processing. Attached Figure Description

[0037] Figure 1 This is a schematic diagram of the structure of the lidar data processing system provided in an embodiment of the present invention;

[0038] Figure 2 This is a schematic diagram of the receiving module provided in an embodiment of the present invention;

[0039] Figure 3 This is a schematic diagram of the preprocessing module provided in an embodiment of the present invention. Detailed Implementation

[0040] 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 embodiments of the present invention, and not all embodiments. 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.

[0041] See Figure 1 This invention provides a lidar data processing system, including a central processing module 101, a receiving module 102, a preprocessing module 103, and an accelerator module 104.

[0042] The central processing module 101 is used to generate configuration information for receiving module 102 and configuration information for preprocessing module 103 in response to the information configuration command input by the user, and configure the configuration information for receiving module 102 in receiving module 102 and the configuration information for preprocessing module 103 in preprocessing module 103.

[0043] When the receiving module 102 receives a lidar message, it responds to the parsing instruction sent by the central processing module 101, performs protocol parsing on the lidar message based on the configuration information of the receiving module 102, and obtains a lidar parsed message; and responds to the data transmission instruction sent by the central processing module 101, sends the lidar parsed message to the preprocessing module 103.

[0044] The preprocessing module 103 is used to, when receiving the lidar parsing message, respond to the preprocessing instruction sent by the central processing module 101, preprocess the lidar parsing message based on the configuration information of the preprocessing module 103 and through a preset preprocessing program to obtain lidar data, and send the lidar data to the accelerator module 104.

[0045] The accelerator module 104 is used to perform calculations on the lidar data to obtain lidar data calculation results.

[0046] Specifically, the central processing module 101 is used to generate configuration information for the receiving module 102 in response to user-inputted configuration commands. This includes, for example, the target port number of the unit responsible for protocol parsing in the receiving module 102 and the parameter values ​​required for protocol parsing and data transmission by the receiving module 102. It also generates configuration information for the preprocessing module 103, including, for example, the parameter values ​​required for preprocessing and the data transmission address after preprocessing. It is worth noting that during the LiDAR data processing, the central processing module 101 can respond to user-inputted configuration commands in real time, thereby enabling dynamic configuration of the receiving module 102 and the preprocessing module 103, thus allowing for more flexible processing of the LiDAR data.

[0047] Furthermore, in this embodiment, the receiving module 102 directly performs protocol parsing on the incoming LiDAR messages and transmits the parsed LiDAR messages to the preprocessing module 103. It is worth noting that existing technologies typically require the CPU to participate in the protocol parsing process and the transmission of the parsed messages, which significantly increases CPU utilization and consequently prolongs LiDAR data processing time. This embodiment, however, eliminates the need for CPU participation in the protocol parsing and transmission processes, directly handling these two processes through the receiving module 102. This greatly reduces CPU utilization and shortens the data transmission path, effectively preventing excessive delays in LiDAR data processing.

[0048] Furthermore, in this embodiment, the preprocessing module 103 directly preprocesses the received LiDAR parsing message and sends the preprocessed LiDAR data to the accelerator module 104 for further computation. It is worth noting that existing technologies typically require the CPU to copy the LiDAR parsing message to user space for preprocessing, and then the user application layer uses the CPU to perform computation on the preprocessed LiDAR data. This data transmission and computation process significantly increases CPU utilization and prolongs the data transmission path, resulting in extended LiDAR data processing time. In this embodiment, however, the preprocessing module 103 can simultaneously perform the preprocessing of the LiDAR parsing message and the transmission of the preprocessed LiDAR data to the accelerator module 104. The computation process is handled by the accelerator module 104, thereby significantly reducing CPU utilization and shortening the data transmission path, effectively preventing excessive LiDAR data processing latency.

[0049] In summary, the lidar data processing system provided by this embodiment of the invention can directly parse lidar messages according to instructions sent by the central processing module 101 through the receiving module 102, and send the parsed lidar messages to the storage module 105 or the preprocessing module 103. The preprocessing module 103 can directly preprocess the lidar parsed messages according to instructions sent by the central processing module 101, and send the preprocessed lidar data to the accelerator module 104 for calculation and processing. Thus, the central processing module 101 only needs to undertake the task of issuing instructions and configuring information for the receiving module 102 and the preprocessing module 103, which significantly reduces the occupancy rate of the central processing module 101 and also prevents excessive delay in lidar data processing.

[0050] As a preferred embodiment, the system further includes a storage module 105;

[0051] The receiving module 102 is also configured to send the LiDAR parsed message to the storage module 105 in response to the data transmission command;

[0052] The storage module 105 is used to map the LiDAR parsing message to the process address space of the central processing module 101 when the LiDAR parsing message is received.

[0053] It is worth noting that existing technologies typically send LiDAR messages to DRAM for storage. When protocol parsing of the LiDAR messages is required, the CPU needs to access the DRAM, perform a copy operation of the LiDAR message, and then complete the protocol parsing through its kernel protocol stack 201. Accessing the DRAM and parsing the LiDAR messages both increase the CPU's processing load. However, in this embodiment, the LiDAR parsed message after being parsed by the receiving module 102 is directly sent to the storage module 105. Since the LiDAR parsed message in the storage module 105 is now the same as the message parsed by the kernel protocol stack 201 in existing technologies, the storage module 105 can directly map the LiDAR parsed message to the process address space of the central processing module 101. This eliminates the need for the CPU to access the DRAM or perform protocol parsing of the LiDAR messages, significantly reducing the CPU's processing load.

[0054] In one preferred embodiment, the storage structure of the storage module 105 is a ring buffer structure.

[0055] See Figure 2 As a preferred embodiment, the receiving module 102 includes a protocol stack 201, a data distribution unit 202, and a DMA (Direct memory access) controller 203;

[0056] The protocol stack 201 is used to respond to the parsing command by filtering the lidar message to obtain the target lidar message sent by the lidar sensor; parsing the target lidar message to obtain the lidar parsed message; comparing and analyzing the configuration information in the lidar parsed message with the configuration information of the receiving module 102, and sending the lidar parsed message that meets the preset sending requirements to the data distribution unit 202.

[0057] The data distribution unit 202 is used to respond to the data transmission instruction, based on the configuration information of the receiving module 102, to send the lidar parsing message that meets the preset transmission requirements to the DMA controller 203, and to send a transmission control instruction to the DMA controller 203;

[0058] The DMA controller 203 is used to respond to the transmission control command and send the LiDAR parsing message that meets the preset transmission requirements to the preprocessing module 103 or the storage module 105 through several sets of DMA channels.

[0059] It is worth noting that since the LiDAR data access uses UDP (User Datagram Protocol) as the data transmission protocol, the protocol stack 201 in this embodiment is a UDP protocol stack 201. Therefore, the target LiDAR message is a UDP message sent by the LiDAR sensor. Further, the target LiDAR message (i.e., the UDP message) is parsed to obtain a LiDAR parsed message. Then, the configuration information in the LiDAR parsed message is compared and analyzed with the configuration information of the receiving module 102. For example, it is analyzed whether the IP address and port information in the LiDAR parsed message are consistent with the IP address and port information recorded in the configuration information of the receiving module 102. The LiDAR parsed message that meets the preset sending requirements is sent to the data distribution unit 202. The preset sending requirements include, but are not limited to, the configuration information in the LiDAR parsed message being consistent with the configuration information of the receiving module 102.

[0060] Furthermore, the data distribution unit 202 is used to respond to the data transmission command, thereby initiating a read / write request to the DMA controller 203, sending the lidar parsing message that meets the preset transmission requirements to the DMA controller 203 based on the configuration information of the receiving module 102, and sending a transmission control command to the DMA controller 203.

[0061] Furthermore, the DMA controller 203 is configured with several DMA channels, which are used to send the LiDAR parsing message that meets the preset transmission requirements to the preprocessing module 103 or the storage module 105 in response to the transmission control command.

[0062] This embodiment is not limited to the protocol restrictions of DRAM on access data, and can be directly adapted to various lidar sensors to send lidar parsed messages to the preprocessing module 103 or the storage module 105.

[0063] As a preferred embodiment, the receiving module 102 further includes a message receiving unit 204 and a receiving module register group 205;

[0064] The message receiving unit 204 is used to receive the lidar message and send the lidar message to the protocol stack 201;

[0065] The receiving module register group 205 is used to receive the configuration information of the receiving module 102, the parsing instruction and the data transmission instruction, store the configuration information of the receiving module 102, send the parsing instruction to the protocol stack 201, and send the data transmission instruction to the data distribution unit 202.

[0066] See Figure 3As a preferred embodiment, the preprocessing module 103 includes an identification unit 301, a DIFOP parsing unit 302, and an MSOP parsing unit 303;

[0067] The identification unit 301 is used to filter messages according to the frame header of the LiDAR parsing message when it receives the LiDAR parsing message, obtain the DIFOP message and the MSOP message, and send the DIFOP message to the DIFOP parsing unit 302 and the MSOP message to the MSOP parsing unit 303.

[0068] The DIFOP parsing unit 302 is used to respond to the preprocessing instruction, parse the DIFOP message through the preprocessing program, obtain the real-time status information of the lidar sensor, and send the real-time status information to the MSOP parsing unit 303.

[0069] The MSOP parsing unit 303 is used to respond to the preprocessing instruction, based on the configuration information of the preprocessing module 103 and the real-time status information, to parse the MSOP message through the preprocessing program, obtain the lidar data, and send the lidar data to the accelerator module 104.

[0070] It is worth noting that lidar sensors, such as the RS-LiDAR-16 lidar sensor, typically use the UDP protocol to transmit lidar messages. The transmitted message data has two types: MSOP messages and DIFOP messages. MSOP messages contain lidar master data such as distance data, angle data, and reflectivity data obtained by the lidar sensor scanning, while DIFOP messages contain various current configuration information of the lidar sensor.

[0071] Furthermore, the DIFOP parsing unit 302, in response to preprocessing instructions, parses the DIFOP message using a preprocessing program to obtain real-time status information of the lidar sensor, such as reflectivity curve calibration values, reflectivity curve coefficients, reflectivity calculation mode, and vertical angle calibration parameters, and sends the real-time status information to the MSOP parsing unit 303. It is worth noting that the preprocessing program is a driver program provided by the lidar sensor manufacturer to perform preprocessing, enabling the parsing of both DIFOP and MSOP messages.

[0072] As a preferred embodiment, the preprocessing module 103 further includes a preprocessing module register group 304;

[0073] The preprocessing module register group 304 is used to receive the configuration information of the preprocessing module 103 and the preprocessing instructions, store the configuration information of the preprocessing module 103, and send the preprocessing instructions to the DIFOP parsing unit 302 and the MSOP parsing unit 303 respectively.

[0074] As a preferred embodiment, the MSOP parsing unit 303 includes an angle calibration subunit 3031, an intensity calibration subunit 3032, and a coordinate calculation subunit 3033;

[0075] The angle calibration subunit 3031 is used to respond to the preprocessing instruction, perform angle calibration on the data in the MSOP message through the preprocessing program based on the configuration information of the preprocessing module 103 and the real-time status information, and send the angle-calibrated data to the intensity calibration subunit 3032.

[0076] The intensity calibration subunit 3032 is used to perform intensity calibration on the angle-calibrated data through the preprocessing program based on the configuration information of the preprocessing module 103 and the real-time status information, and send the intensity-calibrated data to the coordinate calculation subunit 3033.

[0077] The coordinate calculation subunit 3033 is used to perform coordinate calculation on the intensity-calibrated data based on the configuration information of the preprocessing module 103 and the real-time status information, generate the lidar data, and send the lidar data to the accelerator module 104.

[0078] It is worth noting that the lidar data obtained after the MSOP parsing unit 303 performs angle correction, intensity calibration and coordinate calculation on the data in the MSOP message is point cloud data in (X, Y, Z, I) format.

[0079] As a preferred embodiment, the protocol stack 201 is further used for:

[0080] In response to the parsing command, the lidar message is filtered to obtain ARP and ICMP messages, and a response is given to the ARP and ICMP messages.

[0081] As a preferred embodiment, the message receiving unit 204 includes an Ethernet RX (Receive) subunit 2042 and a FIFO (First Input First Output) subunit 2041;

[0082] The Ethernet RX subunit is used to receive the lidar message, perform CRC (Cyclic Redundancy Check) verification on the data frames in the lidar message, and send lidar messages that meet the preset verification requirements to the FIFO subunit.

[0083] The FIFO subunit 2041 is used to buffer the Ethernet frames in the lidar message that meets the preset verification requirements, and send the lidar message after buffering the Ethernet frames to the protocol stack 201.

[0084] It should be noted that the Ethernet RX subunit 2042 performs CRC check on the data frames in the LiDAR message, which can identify errors such as incorrect data frame length and overflow of the received FIFO, and process the LiDAR message with the identified error by packet loss.

[0085] The FIFO subunit 2041 is a 2KB receive FIFO used to buffer an Ethernet frame.

[0086] As a preferred embodiment, the receiving module 102 further includes an AXI (Advanced eXtensible Interface) interface unit 206;

[0087] The AXI interface unit 206 is used to send the lidar parsing message that meets the preset sending requirements to the storage module 105 in AXI4-Stream format when the DMA controller 203 sends the lidar parsing message that meets the preset sending requirements to the storage module 105 through several sets of DMA channels.

[0088] In one specific embodiment, the central processing module 101 is configured with a driver and an interface library to work in conjunction with the receiving module 102 and to provide the application with a system call interface similar to recvfrom() in sockets. Users can initialize the receiving module 102 and the preprocessing module 103 by initializing multiple API interfaces in the interface library. When a user calls the data receiving API, it involves three steps: the interface library calls the driver's read function, which places the current process into a waiting queue; when an interrupt signal arrives at the protocol stack 201, the interrupt service routine sets the interrupt register and wakes up the associated process; the read function continues execution and eventually returns to the process address space mapped by the storage module 105.

[0089] To better demonstrate the beneficial effects of the lidar data processing system provided in this embodiment of the invention, the following description is based on comparative data with existing technologies.

[0090] Existing technologies typically first write LiDAR data into the DRAM of an in-vehicle embedded system. Then, the CPU of the in-vehicle embedded system copies the LiDAR data from the DRAM and performs protocol parsing. Further, the CPU copies the protocol-parsed LiDAR data to the user space for preprocessing. Then, the user application layer performs calculations on the preprocessed LiDAR data through the CPU.

[0091] Compared with the prior art, in the process of processing lidar data, the utilization rate of the central processing module on the system side is reduced by a maximum of 50.2% and an average of 48.6%, while the utilization rate of the central processing module on the user side is reduced by a maximum of 38.0% and an average of 35.7%. The overall utilization rate of the central processing module is reduced by a maximum of 46.3% and an average of 45.9%.

[0092] Compared with the prior art, the embodiments of the present invention perform protocol parsing of LiDAR messages through the protocol stack in the receiving module, which shortens the latency of the protocol parsing process by 55.5%.

[0093] Compared with the prior art, the embodiments of the present invention use a preprocessing module to parse DIFOP and MSOP messages, which reduces the processing time for parsing DIFOP messages by 92.6% and the processing time for parsing MSOP messages by 93.8%.

[0094] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.

Claims

1. A lidar data processing system, characterized in that, It includes a central processing module, a receiving module, a preprocessing module, and an accelerator module; The central processing module is used to respond to the user's input information configuration command, generate receiving module configuration information and preprocessing module configuration information, configure the receiving module configuration information in the receiving module, and configure the preprocessing module configuration information in the preprocessing module; The receiving module is configured to, upon receiving a lidar message, respond to a parsing instruction sent by the central processing module, perform protocol parsing on the lidar message based on the receiving module configuration information to obtain a lidar parsed message; and, in response to a data transmission instruction sent by the central processing module, send the lidar parsed message to the preprocessing module. The preprocessing module is used to, when receiving the lidar parsing message, respond to the preprocessing instruction sent by the central processing module, preprocess the lidar parsing message according to the preprocessing module configuration information and through a preset preprocessing program to obtain lidar data, and send the lidar data to the accelerator module. The accelerator module is used to perform calculations on the lidar data to obtain the lidar data calculation results; The system also includes a storage module; The receiving module is also configured to send the LiDAR parsed message to the storage module in response to the data transmission command; The storage module is used to map the LiDAR parsing message to the process address space of the central processing module when the LiDAR parsing message is received.

2. The lidar data processing system as described in claim 1, characterized in that, The receiving module includes a protocol stack, a data distribution unit, and a DMA controller; The protocol stack is used to filter the lidar message in response to the parsing instruction to obtain the target lidar message sent by the lidar sensor. The target lidar message is parsed to obtain the lidar parsed message; the configuration information in the lidar parsed message is compared and analyzed with the configuration information of the receiving module, and the lidar parsed message that meets the preset sending requirements is sent to the data distribution unit. The data distribution unit is used to respond to the data transmission instruction, based on the configuration information of the receiving module, to send the lidar parsing message that meets the preset transmission requirements to the DMA controller, and to send a transmission control instruction to the DMA controller; The DMA controller is used to respond to the transmission control command and send the LiDAR parsed message that meets the preset transmission requirements to the preprocessing module or the storage module through several sets of DMA channels.

3. The lidar data processing system as described in claim 2, characterized in that, The receiving module also includes a message receiving unit and a receiving module register group; The message receiving unit is used to receive the lidar message and send the lidar message to the protocol stack; The receiving module register group is used to receive the receiving module configuration information, the parsing instruction, and the data transmission instruction, and to store the receiving module configuration information, send the parsing instruction to the protocol stack, and send the data transmission instruction to the data distribution unit.

4. The lidar data processing system as described in claim 3, characterized in that, The preprocessing module includes an identification unit, a DIFOP parsing unit, and an MSOP parsing unit; The identification unit is used to filter messages according to the frame header of the LiDAR parsing message when it receives the LiDAR parsing message, obtain the DIFOP message and the MSOP message, and send the DIFOP message to the DIFOP parsing unit and the MSOP message to the MSOP parsing unit. The DIFOP parsing unit is used to respond to the preprocessing instruction, parse the DIFOP message through the preprocessing program, obtain the real-time status information of the lidar sensor, and send the real-time status information to the MSOP parsing unit; The MSOP parsing unit is used to respond to the preprocessing instruction, based on the preprocessing module configuration information and the real-time status information, to parse the MSOP message through the preprocessing program, obtain the lidar data, and send the lidar data to the accelerator module.

5. The lidar data processing system as described in claim 4, characterized in that, The preprocessing module also includes a preprocessing module register group; The preprocessing module register group is used to receive the preprocessing module configuration information and the preprocessing instructions, store the preprocessing module configuration information, and send the preprocessing instructions to the DIFOP parsing unit and the MSOP parsing unit respectively.

6. The lidar data processing system as described in claim 5, characterized in that, The MSOP parsing unit includes an angle calibration subunit, an intensity calibration subunit, and a coordinate calculation subunit; The angle calibration subunit is used to respond to the preprocessing instruction, perform angle calibration on the data in the MSOP message based on the preprocessing module configuration information and the real-time status information, and send the angle-calibrated data to the intensity calibration subunit. The intensity calibration subunit is used to perform intensity calibration on the angle-calibrated data through the preprocessing program based on the preprocessing module configuration information and the real-time status information, and then send the intensity-calibrated data to the coordinate calculation subunit. The coordinate calculation subunit is used to perform coordinate calculations on the intensity-calibrated data based on the preprocessing module configuration information and the real-time status information, generate the lidar data, and send the lidar data to the accelerator module.

7. The lidar data processing system as described in claim 6, characterized in that, The protocol stack is also used for: In response to the parsing command, the lidar message is filtered to obtain ARP and ICMP messages, and a response is given to the ARP and ICMP messages.

8. The lidar data processing system as described in claim 7, characterized in that, The message receiving unit includes an Ethernet RX subunit and a FIFO subunit; The Ethernet RX subunit is used to receive the lidar message, perform CRC check on the data frames in the lidar message, and send the lidar message that meets the preset check requirements to the FIFO subunit. The FIFO subunit is used to buffer the Ethernet frames in the lidar message that meets the preset verification requirements, and send the lidar message after buffering the Ethernet frames to the protocol stack.

9. The lidar data processing system as described in claim 8, characterized in that, The receiving module also includes an AXI interface unit; The AXI interface unit is used to send the LiDAR parsing message that meets the preset sending requirements to the storage module in AXI4-Stream format when the DMA controller sends the LiDAR parsing message that meets the preset sending requirements to the storage module through several sets of DMA channels.

Citation Information

Patent Citations

  • Point cloud data processing acceleration system and method

    CN112419138A

  • Radar data forwarding architecture and forwarding method based on FPGA

    CN114116554A

  • Shoreline extraction method based on laser radar point cloud features

    CN114241211A

  • Functional safety for system-on-chip arrangements

    WO2024260605A1