Method and System for Testing an Automotive Radar Using a Radar Data Cube Simulator

By generating and utilizing simulated radar data cubes, the cost and time-consuming problems of existing automotive radar testing methods are solved, and low-cost and low-time testing efficiency and coverage are achieved.

CN114076920BActive Publication Date: 2025-07-01BAIDU USA LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110378062.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-08-20
Filing Date
2021-04-08
Publication Date
2025-07-01
Estimated Expiration
2041-04-08

AI Technical Summary

Technical Problem

Existing automotive radar testing methods require hardware integration and a large amount of road test data, which makes testing cost high and time-consuming, and it is difficult to effectively test the functions of the entire system.

Method used

By generating and utilizing simulated radar data cubes, building virtual real-world scenarios, simulated radar transmit and receive channels operations, and performing data processing to establish simulated radar data cubes for testing radar perception algorithms in automated driving systems.

Benefits of technology

It realizes the radar perception algorithm in the automated driving system at a low cost and time-consuming manner, reducing dependence on hardware integration and road test data, and improving testing efficiency and coverage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114076920B_ABST
    Figure CN114076920B_ABST
Patent Text Reader

Abstract

A method and system for testing automotive radar using a simulated radar data cube simulator are disclosed. A simulated radar transmission waveform is defined based on expected radar performance. A virtual real-world scenario including one or more virtual target objects is constructed. The virtual target objects simulate the reflection and scattering characteristics of real-world objects to incident radar waves. The simulation includes the operation of radar transmit and receive channels including an antenna array and free-space propagation to obtain simulated raw radar data. The simulated raw radar data is processed to establish a simulated radar data cube. The simulated radar data cube is utilized to test radar perception algorithms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to automotive sensors. More specifically, embodiments of the present disclosure relate to methods and systems for simulating radar outputs for testing. Background Art

[0002] Radar (also known as radio detection and ranging) is an object detection system that uses radio waves to determine the distance, angle, or speed of an object. For example, it can be used to detect aircraft, ships, spacecraft, guided missiles, motor vehicles, weather formations, and terrain. Radar has been used in many applications, including autonomous driving systems (e.g., autonomous vehicles), air and ground traffic control, air defense systems, anti-missile systems, aircraft collision avoidance systems, marine surveillance systems, etc.

[0003] Automotive radar transmits modulated electromagnetic waves and receives scattered energy from surrounding objects. The received energy is processed through a fast Fourier transform (FFT) and displayed as a dense grid of points containing distance, speed, and angle information for all processed FFT bins, called a radar data cube (RDC). In an automotive radar system, the radar data cube is post-processed using multi-layer algorithms to identify points that may originate from surrounding objects of interest (such as cars / pedestrians) and group them to track their movement. Typically, these algorithm layers are tested and optimized with a large amount of road test data.

[0004] Most commonly, radar is installed on a vehicle and driven on the street to collect data. However, this requires hardware integration and test vehicles to cover the entire development phase. Maintaining test vehicles and resources to collect a large amount of data for optimization is both expensive and time-consuming. Additionally, special critical cases need to be designed and planned, which requires more investment in hardware and engineering time. For firmware testing, it is typically done via test scripts that are not related to actual radar data, and these scripts only test the logical operations at the radar level and do not test the entire system. Summary of the Invention

[0005] A first aspect of the present application provides a computer-implemented method, the method including defining a simulated radar transmission waveform based on expected radar performance. The method further includes constructing a virtual real-world scene including one or more virtual target objects that simulate the reflection and scattering characteristics of real-world objects to incident radar waves. The method further includes simulating the operation of a radar transmit and receive channel including an antenna array and free-space propagation to obtain simulated raw radar data. The method further includes performing data processing on the simulated raw radar data to establish a simulated radar data cube. The method further includes using the simulated radar data cube to test at least one of a radar perception algorithm or radar integration in an autonomous driving system.

[0006] A second aspect of the present application provides a non-transitory machine-readable medium having instructions stored therein that, when executed by a processor, cause the processor to perform the method according to the first aspect of the present application.

[0007] A third aspect of the present application provides a data processing system. The system includes a processor and a memory coupled to the processor and storing instructions. The instructions, when executed by the processor, cause the processor to perform the method according to the first aspect of the present application.

[0008] A third aspect of the present application provides a computer program product, including a computer program. The computer program, when executed by a processor, implements the method according to the first aspect of the present application.

[0009] The present application is capable of generating and utilizing simulated radar data cubes to test radar perception algorithms or radar integration in an automated driving system, with low test costs and no time consumption. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Embodiments of the present disclosure are illustrated in the figures of the accompanying drawings by way of example and not limitation, in which like reference numerals indicate like elements.

[0011] Figure 1 is a block diagram showing a machine learning system.

[0012] Figure 2 is a block diagram showing an example of a radar data cube emulator according to an embodiment.

[0013] Figure 3 is a flowchart showing an example of a method for generating and utilizing a simulated radar data cube according to an embodiment.

[0014] Figure 4 is a flowchart showing an example of a method for testing a radar perception algorithm according to an embodiment.

[0015] Figure 5 is a block diagram showing a data processing system according to an embodiment. DETAILED DESCRIPTION

[0016] Embodiments and aspects of the present disclosure will be described in detail with reference to the details discussed below, and the accompanying drawings will illustrate the embodiments. The following description and drawings are illustrative of the present disclosure and should not be construed as limiting the present disclosure. Many specific details are described to provide a thorough understanding of the various embodiments of the present disclosure. However, in some cases, well-known or conventional details are not described in order to provide a brief discussion of the embodiments of the present disclosure.

[0017] References to "one embodiment", "an embodiment", or "some embodiments" in the specification mean that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the present disclosure. The phrase "in one embodiment" appearing in various places in the specification does not necessarily refer to the same embodiment.

[0018] According to some embodiments, a simulated radar transmission waveform is defined based on desired radar performance. A virtual real-world scenario including one or more virtual target objects is constructed. The virtual target objects simulate the reflection and scattering characteristics of real-world objects for the input radar waves. The simulation includes the operation of a radar transmit and receive channel including an antenna array and free-space propagation to obtain simulated raw radar data. Data processing is performed on the simulated raw radar data to establish a simulated radar data cube. The simulated radar data cube is used to test at least one of a radar perception algorithm or radar integration in an automated driving system.

[0019] In one embodiment, the desired radar performance includes at least one of the following: maximum range, range resolution, or angular resolution. In one embodiment, the virtual target objects include one or more of the following: virtual buildings, virtual motor vehicles, virtual cyclists, or virtual pedestrians. In one embodiment, performing data processing on the simulated raw radar data includes performing a three-dimensional fast Fourier transform (FFT) on the simulated raw radar data.

[0020] In one embodiment, to test at least one of a radar perception algorithm or radar integration in an automated driving system using the simulated radar data cube, post-processing is applied to the simulated radar data cube to obtain simulated raw point cloud data. The simulated raw point cloud data is converted into one or more simulated radar data user datagram protocol (UDP) packets. The simulated radar data UDP packets are fed into an automated driving system including a radar perception algorithm to generate a detection list using the radar perception algorithm. It is determined whether one or more objects included in the detection list match the virtual target objects. In response to determining that one or more objects included in the detection list match the virtual target objects, it is determined that the radar perception algorithm has been verified.

[0021] In one embodiment, to test at least one of a radar perception algorithm or radar integration in an automated driving system using the simulated radar data cube, it is verified whether the simulated radar data UDP packets received by the automated driving system include data matching the simulated raw point cloud data. Additionally or alternatively, a binary conversion interface between a radar input interface and the automated driving system is verified. In one embodiment, the simulated radar transmission waveform is a simulated frequency-modulated continuous wave (FMCW) waveform.

[0022] Figure 1is a block diagram showing a radar sensing algorithm test system 100. An FMCW waveform generator 102 generates an FMCW radar wave. The radar wave can be changed based on a maximum distance, a maximum speed, a range resolution, or a velocity resolution. The radar wave is transmitted through a transmit / receive (Tx / Rx) antenna array 104 and is reflected and scattered by an object in a real-world scenario 106. The reflected and scattered radar wave is at least partially received by the Tx / Rx antenna array 104, thereby generating a received radar signal. The Tx / Rx antenna array 104 is constructed based on an antenna pattern, has one or more Tx / Rx channels, and has a Tx / Rx spacing configuration. The real-world scenario can include one or more of the following: a static environment or one or more moving targets. The received radar signal undergoes signal processing 108, and thereby a radar data cube is generated. The signal processing 108 includes a three-dimensional fast Fourier transform (FFT), and the three-dimensional FFT can further include a range FFT and a Doppler FFT. It should be understood that the radar data cube is data containing range, Doppler, and angle information output from the radar.

[0023] Then, the radar data cube undergoes post-processing 110, and raw point cloud data is generated. The post-processing 110 can include one or more of the following: constant false alarm rate (CFAR) detection or direction of arrival (DoA) estimation. The raw point cloud data is converted into a radar data User Datagram Protocol (UDP) packet at a UDP packet conversion 112. The radar data UDP packet is sent by a UDP packet transmitter 114 to an autonomous driving system 116. The UDP packet transmitter 114 can multicast the radar data UDP packet to the autonomous driving system 116. Thereafter, a radar sensing algorithm 118 can generate a detection list including sensed or detected objects based on the radar data. Each detected object can be associated with range, Doppler, and azimuth angle information.

[0024] Figure 2 is a block diagram showing an example of a radar data cube emulator 200 according to an embodiment. Refer to Figure 2 , the radar data cube emulator 200 includes, but is not limited to, a virtual real-world scenario construction module 201, a radar simulation module 202, and a signal processing and conversion module 203. The radar data cube emulator 200 can be regarded as a computing (or data processing) system that simulates the functions of a radar system or unit. Some or all of the modules 201-203 can be implemented in software, hardware, or a combination thereof. For example, these modules can be installed in a permanent storage device 252, loaded into a memory 251, and executed by one or more processors (not shown). Note that some or all of the modules 201-203 can be integrated together as an integrated module.

[0025] In one embodiment, at the radar simulation module 202, a simulated radar transmission waveform is defined based on desired radar performance. In one embodiment, the expected radar performance includes one or more of the following: maximum range, range resolution, or angular resolution. In one embodiment, the simulated radar transmission waveform is a simulated frequency-modulated continuous wave (FMCW) waveform. At the virtual real-world scenario construction module 201, a virtual real-world scenario including one or more virtual target objects is constructed. The virtual target objects simulate the reflection and scattering characteristics of real objects for input radar waves. In one embodiment, the virtual real-world scenario can be constructed based on map and route data or information 214. In one embodiment, the virtual target objects include one or more of the following: virtual buildings, virtual motor vehicles, virtual cyclists, or virtual pedestrians. At the virtual real-world scenario construction module 201, the operation of a radar transmit and receive channel including an antenna array and free space propagation is simulated to obtain simulated raw radar data. Specifically, it should be understood that each of the types of virtual target objects will have a corresponding different radar cross-section pattern. Based on the simulated FMCW wave of the target radar device and a specific transmit and receive antenna array configuration, a radar cross-section representing a specific obstacle can be generated. At the signal processing and conversion module 203, data processing is performed on the simulated raw radar data to establish a simulated radar data cube. In one embodiment, performing data processing on the simulated raw radar data includes performing a three-dimensional fast Fourier transform (FFT) on the simulated raw radar data. Then, the radar perception algorithm can be tested using the simulated radar data cube, for example, for its completeness and integrity.

[0026] In one embodiment, to test at least one of a radar perception algorithm in an autonomous driving system or radar integration using the simulated radar data cube, post-processing is applied to the simulated radar data cube to obtain simulated raw point cloud data. The simulated raw point cloud data is converted into one or more simulated radar data user datagram protocol (UDP) data packets. The simulated radar data UDP data packets are fed to an autonomous driving system including a radar perception algorithm to generate a detection list using the radar perception algorithm. It is determined whether one or more objects included in the detection list match the virtual target objects. In response to determining that one or more objects included in the detection list match the virtual target objects, it is determined that the radar perception algorithm has been verified.

[0027] In one embodiment, to test at least one of a radar perception algorithm in an autonomous driving system or radar integration using the simulated radar data cube, it is verified whether the simulated radar data UDP data packet received by the autonomous driving system includes data matching the simulated raw point cloud data. Verifying that the simulated radar data UDP data packet received by the autonomous driving system includes data matching the simulated raw point cloud data helps to confirm Figure 1The UDP packet converter 112 and the UDP packet transmitter 114 work as expected. Additionally or alternatively, verify the binary conversion interface between the radar input interface and the automated driving system. In one embodiment, the binary conversion interface may include Figure 1 post-processing 110, UDP packet converter 112, UDP packet transmitter 114, etc. In one embodiment, when one or more objects included in the detection list match the virtual target object, the binary conversion interface can be considered verified.

[0028] Figure 3 is a flowchart showing an example of a method 300 for generating and utilizing a simulated radar data cube according to one embodiment. The process 300 can be executed by processing logic, which can include software, hardware, or a combination thereof. At block 310, define a simulated radar transmission waveform based on the desired radar performance. At block 320, construct a virtual real-world scenario including one or more virtual target objects. The virtual target objects simulate the reflection and scattering characteristics of the input radar waves by real-world objects. At block 330, simulate the operation of the radar transmit and receive channels including the antenna array and free-space propagation to obtain simulated raw radar data. At block 340, perform data processing on the simulated raw radar data to establish a simulated radar data cube. At block 350, utilize the simulated radar data cube to test at least one of the radar perception algorithms or radar integration in the automated driving system.

[0029] Figure 4 is a flowchart showing an example of a method 400 for testing a radar perception algorithm according to one embodiment. The process 400 can be executed by processing logic, which can include software, hardware, or a combination thereof. At block 410, apply post-processing to the simulated radar data cube. Accordingly, simulated raw point cloud data and radar data UDP packets can be generated. The radar perception algorithm can be applied to the processed simulated radar data to generate a detection list including detected or perceived objects. At block 420, determine whether the objects included in the detection list are as expected. They are expected when the objects match the virtual target objects used in the generation of the simulated radar data cube. If the objects in the detection list are as expected, then at block 430, the radar perception algorithm is determined to be verified.

[0030] Note that some or all of the components shown and described above can be implemented in software, hardware, or a combination thereof. For example, such a component can be implemented as software installed and stored in a permanent storage device, and the software can be loaded by a processor (not shown) and executed in a memory to perform the processes or operations described throughout this application. Alternatively, such a component can be implemented as executable code programmed or embedded in dedicated hardware (such as an integrated circuit (e.g., an application-specific IC or ASIC), a digital signal processor (DSP), or a field-programmable gate array (FPGA)), which can be accessed from an application via a corresponding driver and / or operating system. Additionally, such a component can be implemented as specific hardware logic in a processor or processor core as part of an instruction set that can be accessed by a software component via one or more specific instructions.

[0031] Accordingly, embodiments of the present disclosure relate to an emulator that utilizes a given radar design to simulate road scenarios to output a radar data cube and feeds the simulated radar data cube into a post-processing algorithm for testing. The parametric analog FMCW waveform generator design allows customization according to the simulated target radar specifications. The emulator constructs a real-world environment with objects based on the electromagnetic wave responses of the objects and can easily create corner cases (e.g., sharp turns, small moving objects, etc.) or complex scenarios (e.g., multiple pedestrians, cyclists, and cars scattered along a path) to test the integrity of the algorithm. Additionally, the radar data cube emulator can be converted to an output in a binary data format (e.g., the same format used by Conti ARS430), which can be directly integrated into an autonomous driving vehicle system instead of actual radar hardware. This can be used to test the integration of the radar with the system at the firmware layer and can also create a test platform with multiple radars.

[0032] Figure 5 is a block diagram showing an example of a data processing system that can be used with an embodiment of the present disclosure. For example, system 1500 can represent any of the above data processing systems that execute any of the processes or methods described above, such as, for example Figure 2 the radar data cube emulator 200 and the automation system of an autonomous driving vehicle (ADV). System 1500 can include many different components. These components can be implemented as integrated circuits (ICs), portions thereof, discrete electronic devices, or other modules suitable for a circuit board (such as the motherboard or an add-in card of a computer system), or implemented as components otherwise incorporated within the chassis of a computer system.

[0033] It should also be noted that System 1500 is intended to show a high-level view of many components of a computer system. However, it should be understood that in some implementations there may be additional components, and furthermore, different arrangements of the shown components may occur in other implementations. System 1500 may represent a desktop computer, a laptop computer, a tablet computer, a server, a mobile phone, a media player, a personal digital assistant (PDA), a smart watch, a personal communicator, a gaming device, a network router or hub, a wireless access point (AP) or repeater, a set-top box, or a combination thereof. Additionally, although only a single machine or system is shown, the term "machine" or "system" should also be considered to include any collection of machines or systems that individually or jointly execute a set of instructions (or multiple sets of instructions) to perform any one or more of the methods discussed herein.

[0034] In one embodiment, System 1500 includes a processor 1501, a memory 1503, and devices 1505 - 1508 connected via a bus or interconnect 1510. Processor 1501 may represent a single processor or multiple processors that include a single processor core or multiple processor cores. Processor 1501 may represent one or more general-purpose processors, such as a microprocessor, a central processing unit (CPU), etc. More specifically, processor 1501 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets, or a processor that implements a combination of instruction sets. Processor 1501 may also be one or more special-purpose processors, such as an application-specific integrated circuit (ASIC), a cellular or baseband processor, a field-programmable gate array (FPGA), a digital signal processor (DSP), a graphics processor, a network processor, a communication processor, a cryptographic processor, a coprocessor, an embedded processor, or any other type of logic capable of processing instructions.

[0035] Processor 1501 may be a low-power multi-core processor socket (such as an ultra-low voltage processor) that can act as the main processing unit and central hub for communicating with the various components of the system. Such a processor may be implemented as a system-on-chip (SoC). Processor 1501 is configured to execute instructions for performing the operations and steps discussed herein. System 1500 may also include a graphics interface that communicates with an optional graphics subsystem 1504, which may include a display controller, a graphics processor, and / or a display device.

[0036] The processor 1501 may communicate with the memory 1503, which may be implemented via multiple memory devices in one embodiment to provide a given amount of system memory. The memory 1503 may include one or more volatile storage (or memory) devices, such as random access memory (RAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), static RAM (SRAM), or other types of storage devices. The memory 1503 may store information including sequences of instructions executed by the processor 1501 or any other device. For example, various operating systems, device drivers, firmware (e.g., input / output basic system or BIOS), and / or executable code and / or data of applications may be loaded into the memory 1503 and executed by the processor 1501. The operating system may be any kind of operating system, such as, for example, the Robot Operating System (ROS), an operating system from of an operating system, Mac from Apple from of LINUX, UNIX, or other real-time or embedded operating systems.

[0037] The system 1500 may also include IO devices such as devices 1505 - 1508, including (one or more) network interface devices 1505, (one or more) optional input devices 1506, and (one or more) other optional IO devices 1507. The network interface device 1505 may include a wireless transceiver and / or a network interface card (NIC). The wireless transceiver may be a WiFi transceiver, an infrared transceiver, a Bluetooth transceiver, a WiMax transceiver, a wireless cellular phone transceiver, a satellite transceiver (e.g., a Global Positioning System (GPS) transceiver), or other radio frequency (RF) transceivers, or a combination thereof. The NIC may be an Ethernet card.

[0038] (One or more) input devices 1506 may include a mouse, a touchpad, a touch-sensitive screen (which may be integrated with the display device 1504), an indicator device such as a stylus, and / or a keyboard (e.g., a physical keyboard or a virtual keyboard displayed as part of a touch-sensitive screen). For example, the input device 1506 may include a touchscreen controller coupled to the touchscreen. The touchscreen and the touchscreen controller may detect its contact, as well as movement or interruption, using any one of a variety of touch-sensitive technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more contact points with the touchscreen.

[0039] The I / O device 1507 may include an audio device. The audio device may include speakers and / or microphones to facilitate voice-enabled functions such as voice recognition, voice reproduction, digital recording, and / or telephony functions. Other I / O devices 1507 may also include one or more universal serial bus (USB) ports, one or more parallel ports, one or more serial ports, printers, network interfaces, bus bridges (e.g., PCI-PCI bridges), one or more sensors (e.g., motion sensors such as accelerometers, gyroscopes, magnetometers, light sensors, compasses, proximity sensors, etc.), or combinations thereof. The device 1507 may also include an imaging processing subsystem (e.g., a camera), which may include an optical sensor for facilitating camera functions such as recording photos and video clips, such as a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor. Certain sensors may be coupled to the interconnect 1510 via a sensor hub (not shown), while other devices such as a keyboard or a thermal sensor may be controlled by an embedded controller (not shown), depending on the particular configuration or design of the system 1500.

[0040] To provide permanent storage of information such as data, applications, one or more operating systems, etc., mass storage (not shown) may also be coupled to the processor 1501. In various embodiments, to achieve a thinner and lighter system design and improve system responsiveness, such mass storage may be implemented via a solid-state device (SSD). However, in other embodiments, mass storage may be primarily implemented using a hard disk drive (HDD) with a smaller number of SSD storage devices to act as an SSD cache for enabling non-volatile storage of context state and other such information during a power-down event, such that a fast power-on can occur when restarting system activities. A flash device may also be coupled to the processor 1501, for example, via a serial peripheral interface (SPI). This flash device may provide non-volatile storage of system software, including the BIOS and other firmware of the system.

[0041] The storage device 1508 may include a computer-accessible storage medium 1509 (also referred to as a machine-readable storage medium or a computer-readable medium) having stored thereon one or more instruction sets or software sets (e.g., modules, units, and / or logic 1528) embodying any one or more of the methods or functions described herein. The processing module / unit / logic 1528 may represent any of the above components, such as, for example, the scenario definition module 201, the scatter data generation module 202, and the radar modeling module 203. The processing module / unit / logic 1528 may also represent any module / unit / logic executed by the perception and planning system of the ADV. During execution of the processing module / unit / logic 1528 by the data processing system 1500, the processing module / unit / logic 1528 may also reside, in whole or at least in part, within the memory 1503 and / or the processor 1501, which also constitute machine-accessible storage media. The processing module / unit / logic 1528 may also be transmitted or received via the network interface device 1505 over a network.

[0042] The computer-readable storage medium 1509 may also be used to permanently store some of the software functions described above. Although the computer-readable storage medium 1509 is shown as a single medium in the exemplary embodiment, the term "computer-readable storage medium" should be considered to include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) storing one or more instruction sets. The term "computer-readable storage medium" should also be considered to include any medium that is capable of storing or encoding an instruction set for execution by a machine and that causes the machine to perform any one or more of the methods of the present disclosure. Thus, the term "computer-readable storage medium" should be considered to include, but not be limited to, solid-state memories, as well as optical and magnetic media, or any other non-transitory machine-readable medium.

[0043] The processing module / unit / logic 1528, components, and other features described herein may be implemented as discrete hardware components or integrated into the functionality of hardware components such as ASICs, FPGAs, DSPs, or similar devices. Additionally, the processing module / unit / logic 1528 may be implemented as firmware or functional circuitry within a hardware device. Furthermore, the processing module / unit / logic 1528 may be implemented in any combination of hardware devices and software components.

[0044] Note that although the system 1500 is shown as having the various components of a data processing system, it is not intended to represent any particular architecture or manner of interconnecting these components; as such details are not relevant to embodiments of the present disclosure. It will also be appreciated that network computers, handheld computers, mobile phones, servers, and / or other data processing systems having fewer components or perhaps more components may also be used in conjunction with embodiments of the present disclosure.

[0045] Certain portions of the foregoing detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. The description and representation of these algorithms are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. Here, an algorithm is usually considered to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulation of physical quantities.

[0046] However, it should be borne in mind that all such and similar terms are to be associated with appropriate physical quantities and are merely convenient labels applied to these quantities. Unless clearly indicated otherwise from the above discussion, it should be understood that throughout the description, discussions using terms such as those set forth in the claims refer to the actions and processes of a computer system or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system registers and memory into other data similarly represented as physical quantities within the computer system memory or registers or other such information storage, transmission, or display devices.

[0047] Embodiments of the present disclosure also relate to apparatus for performing the operations herein. Such a computer program is stored in a non-transitory computer-readable medium. Machine-readable media include any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, machine-readable (e.g., computer-readable) media include machine (e.g., computer) readable storage media (e.g., read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash devices).

[0048] The processes or methods depicted in the foregoing figures may be implemented by processing logic that includes hardware (e.g., circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer-readable medium), or a combination thereof. Although the processes or methods have been described above in terms of some sequential operations, it should be understood that some of the operations described may be performed in a different order. Moreover, some operations may be performed in parallel rather than sequentially.

[0049] The embodiments of the present disclosure have been described without reference to any particular programming language. It will be understood that the teachings of the embodiments of the present disclosure as described herein may be implemented using a variety of programming languages.

[0050] In the foregoing specification, embodiments of the invention have been described with reference to specific exemplary embodiments of the present disclosure. It is evident that various modifications may be made thereto without departing from the broader spirit and scope of the present disclosure as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive.

Claims

1. A computer-implemented method, comprising: Defining a simulated radar transmission waveform based on expected radar performance; Constructing a virtual real-world scenario including one or more virtual target objects that simulate the reflection and scattering characteristics of real-world objects to incident radar waves; Simulating the operation of a radar transmit and receive channel including an antenna array and free-space propagation to obtain simulated raw radar data; Performing data processing on the simulated raw radar data to establish a simulated radar data cube; And Testing at least one of a radar perception algorithm or radar integration in an automated driving system using the simulated radar data cube; Wherein testing at least one of a radar perception algorithm or radar integration in an automated driving system using the simulated radar data cube further comprises: Applying post-processing to the simulated radar data cube to obtain simulated raw point cloud data; Converting the simulated raw point cloud data into one or more simulated radar data User Datagram Protocol (UDP) packets; Feeding the simulated radar data UDP packets into an automated driving system including a radar perception algorithm to generate a detection list using the radar perception algorithm; Determining whether one or more objects included in the detection list match the virtual target objects; and Determining that the radar perception algorithm has been verified in response to determining that one or more objects included in the detection list match the virtual target objects.

2. The method according to claim 1, wherein, The expected radar performance includes at least one of the following: maximum range, range resolution, or angular resolution.

3. The method according to claim 1, wherein, The virtual target objects include one or more of the following: virtual buildings, virtual motor vehicles, virtual cyclists, or virtual pedestrians.

4. The method according to claim 1, wherein Performing data processing on the simulated raw radar data includes performing a three-dimensional fast Fourier transform (FFT) on the simulated raw radar data.

5. The method according to claim 1, wherein, Testing at least one of a radar perception algorithm or radar integration in an automated driving system using the simulated radar data cube further comprises at least one of the following: Verifying whether the simulated radar data UDP packets received by the automated driving system include data matching the simulated raw point cloud data; or Verifying the binary conversion interface between the radar input interface and the automated driving system.

6. The method according to claim 1, wherein, The simulated radar transmission waveform is a simulated frequency-modulated continuous wave (FMCW) waveform.

7. A non-transitory machine-readable medium having instructions stored therein, the instructions, when executed by a processor, cause the processor to perform the method according to any one of claims 1-6.

8. The non-transitory machine-readable medium according to claim 7, wherein, Testing at least one of a radar perception algorithm or radar integration in an automated driving system using the simulated radar data cube further comprises: Applying post-processing to the simulated radar data cube to obtain simulated raw point cloud data; Converting the simulated raw point cloud data into one or more simulated radar data User Datagram Protocol (UDP) packets; Feeding the simulated radar data UDP packets into an automated driving system including a radar perception algorithm to generate a detection list using the radar perception algorithm; Determining that the packets received by the automated driving system match the simulated raw point cloud data and determining that the binary conversion interface between the radar and the automated driving system is accurate; Determine whether one or more objects included in the detection list match a virtual target object; and In response to determining that one or more objects included in the detection list match the virtual target object, determine that the radar sensing algorithm has been verified.

9. A data processing system, comprising: A processor; And A memory coupled to the processor and storing instructions that, when executed by the processor, cause the processor to perform the method according to any one of claims 1-6.

10. A computer program product, comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Distributed radar sensor system

    CN109387814A

  • ADAS virtual simulation verification method and system

    CN110955976A