CN115016317A - Distributed heterogeneous automatic driving simulation test method, system and equipment - Google Patents
Distributed heterogeneous automatic driving simulation test method, system and equipment Download PDFInfo
- Publication number
- CN115016317A CN115016317A CN202210572557.7A CN202210572557A CN115016317A CN 115016317 A CN115016317 A CN 115016317A CN 202210572557 A CN202210572557 A CN 202210572557A CN 115016317 A CN115016317 A CN 115016317A
- Authority
- CN
- China
- Prior art keywords
- automatic driving
- x86cpu
- simulator
- pcie
- driving system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 72
- 238000010998 test method Methods 0.000 title claims abstract description 16
- 238000004891 communication Methods 0.000 claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 50
- 230000008447 perception Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 26
- 230000004927 fusion Effects 0.000 claims description 18
- 238000013136 deep learning model Methods 0.000 claims description 14
- 238000013468 resource allocation Methods 0.000 abstract description 4
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention discloses a distributed heterogeneous automatic driving simulation test method, a system and equipment. The method comprises the following steps: connecting the embedded GPUs with the X86CPU by using PCI e lines, wherein the number of the embedded GPUs is multiple; respectively deploying automatic driving systems on an embedded GPU and an X86 CPU; installing an automatic driving simulator on an X86CPU, and configuring an interface between the simulator and an automatic driving system; creating a cluster on a simulator, and connecting the simulator and an automatic driving system to the same local area network; creating a simulation scene on the cluster, and starting a program of the automatic driving system; and setting a task of the automatic driving system in a simulation scene, and testing the algorithm performance of the automatic driving system. The invention can improve the bandwidth of point-to-point communication, reduce communication delay, sample and track the occupation condition of computing resources on each device, and is convenient for task arrangement and computing resource allocation of a high-computing-power automatic driving domain controller.
Description
Technical Field
The invention relates to the technical field of automatic driving, in particular to a distributed heterogeneous automatic driving simulation test method, system and equipment based on multiple embedded GPUs and an X86 CPU.
Background
In the field of automatic driving simulation test, a simulator can be regarded as a software integration tool of an automatic driving software system, all software modules can run in the environment of the simulator, input data of the modules are processed, output data of the modules are generated, the simulator has the function of greatly improving system development efficiency, and can test and verify the performance of vehicles in extreme scenes, so that the simulator is an important prerequisite for hatching artificial intelligence and scene driving. The domain controller is used as a computing platform of the automatic driving system, bears the mission of receiving sensor data, processing and outputting safety control instructions, generally comprises a plurality of computing units such as an X86CPU, a GPU and an MCU, and is increasingly applied to the domain controller due to the fact that the embedded GPU of the ARM framework has the characteristics of low power consumption and high efficiency. In the existing scheme of using the embedded GPU, an embedded GPU is generally connected with an X86CPU by using a network cable, on one hand, the connection mode of the ethernet limits the transmission bandwidth and the delay of large-scale data, and on the other hand, a better test scheme is lacking for hardware-in-loop simulation of a multi-embedded GPU and an X86 architecture.
Disclosure of Invention
In order to solve at least one problem mentioned in the background art, the invention provides a distributed heterogeneous automatic driving simulation test method, system and device, which can improve the bandwidth of point-to-point communication, reduce communication delay, optimize different module algorithms of an automatic driving system, sample and track the occupation condition of computing resources on each device, and facilitate task arrangement and computing resource allocation of a high-computation automatic driving domain controller.
The embodiment of the invention provides the following specific technical scheme:
in a first aspect, a distributed heterogeneous automatic driving simulation test method is provided, including:
connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is multiple;
respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
installing a simulator for automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
creating a simulation scene on the cluster and starting a program of the automatic driving system;
and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
As a preferable mode of the foregoing solution, the connecting the embedded GPU and the X86CPU by using a PCIe line includes:
the PCIe lines comprise a first PCIe line and a second PCIe line, and the first PCIe line is used for respectively connecting the embedded GPU to PCIe expansion equipment;
connecting the PCIe expansion device with the X86CPU using the second PCIe line.
As a preferable mode of the foregoing solution, the connecting the embedded GPU and the X86CPU by using a PCIe line further includes:
the embedded GPU is configured into an Endpoint mode, the X86CPU is configured into a Root mode, and IP addresses of the embedded GPU and the X86CPU are configured.
As a preferable aspect of the foregoing solution, the deploying the automatic driving systems on the embedded GPU and the X86CPU respectively includes:
deploying planning decision and control module related algorithm programs in the automatic driving system of the X86CPU, and deploying perception module related algorithm programs in the automatic driving system of the embedded GPU.
Preferably, the sensing module comprises processing image data, processing lidar data, and sensor data fusion, wherein the image data and the lidar data are processed using a deep learning model.
As a preferable aspect of the foregoing solution, the deploying the automatic driving systems on the embedded GPU and the X86CPU respectively includes:
deploying sensor data fusion related algorithm programs of a planning decision, a control module and a perception module in the automatic driving system of the X86CPU, deploying sensor data fusion related algorithm programs of the perception module in the automatic driving system of the embedded GPU, and processing image data and processing laser radar data related algorithm programs, wherein a deep learning model is used for processing image data and processing laser radar data.
Preferably, the interface for configuring the simulator and the automatic driving system includes:
configuring an interface of the simulator with communication middleware installed on operating systems of the embedded GPU and the X86 CPU.
As a preferable mode of the foregoing solution, the creating a simulation scenario on the cluster includes:
and creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
In a second aspect, a distributed heterogeneous autopilot simulation test system is provided, the system comprising:
a connecting module: the system comprises a peripheral component interface (CPU) and a peripheral component interface (CPU), wherein the peripheral component interface (CPU) is used for connecting an embedded GPU with an X86CPU by using a peripheral component interface (PCIe) line and connecting the embedded GPU and the X86CPU to the same local area network, and the number of the embedded GPUs is multiple;
a deployment module: for deploying an autopilot system on the embedded GPU and the X86CPU, respectively;
installing a module: a simulator for installing an autopilot on the X86CPU and configuring the simulator's interface with the autopilot system;
a cluster creation module: the simulator is used for creating a cluster on the simulator and connecting the simulator and the automatic driving system to the same local area network;
a simulation scene creation module: a program for creating a simulation scenario on the cluster and starting the autopilot system;
a test module: and the method is used for setting the task of the automatic driving system in the simulation scene and testing the algorithm performance of the automatic driving system.
In a third aspect, a computer device is provided, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the following steps when executing the computer program:
connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is multiple;
respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
installing a simulator of automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
creating a simulation scene on the cluster and starting a program of the automatic driving system;
and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
In a fourth aspect, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of:
connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is multiple;
respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
installing a simulator for automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
creating a simulation scene on the cluster and starting a program of the automatic driving system;
and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
According to the distributed heterogeneous automatic driving simulation test method, system and device, the PCIe lines are used for connecting the embedded GPUs and the X86CPU, so that the automatic driving systems on the devices can realize point-to-point communication, and compared with a traditional Ethernet communication mode, the communication bandwidth is greatly improved, and the communication delay is reduced; in addition, by the distributed heterogeneous automatic driving simulation test method, not only can the task of simulator algorithm test be completed, but also different module algorithms of the automatic driving system can be optimized, the occupation conditions of computing resources on each device can be sampled and tracked, and great help is provided for task arrangement and computing resource allocation of a high-computing-power automatic driving domain controller.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a flowchart of a method according to a first embodiment of the present invention;
FIG. 2 is a schematic diagram illustrating a connection between an embedded GPU and an X86CPU according to an embodiment of the present invention;
FIG. 3 is a flowchart of a method according to a second embodiment of the present invention;
FIG. 4 is a schematic diagram illustrating a connection between an embedded GPU and an X86CPU according to a second embodiment of the present invention;
FIG. 5 is a flowchart of a method according to a third embodiment of the present invention;
FIG. 6 is a schematic diagram illustrating a connection between an embedded GPU and an X86CPU according to a third embodiment of the present invention;
FIG. 7 is a schematic diagram of a system according to a fifth embodiment of the present invention;
fig. 8 is an internal structural diagram of a computer device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without making any creative effort based on the embodiments in the present invention, belong to the protection scope of the present invention.
As described in the background art, in the current scheme using embedded GPUs, a test method combining embedded GPUs and X86CPU connections, that is, a distributed heterogeneous test method, generally connects one embedded GPU with X86CPU using a network cable, on one hand, the connection mode of ethernet limits the transmission bandwidth and delay of large-scale data, and on the other hand, there is no good test scheme for hardware-in-loop simulation of a multi-embedded GPU and X86 architecture. The theoretical bandwidth of the gigabit Ethernet is 125MB/s, while PCIe (peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) has lower latency while providing the bandwidth of GB/s level, so that the use of PCIe is more in line with the requirements of low latency and high bandwidth of a vehicle-scale domain controller. The method can improve the bandwidth of point-to-point communication, reduce communication delay, sample and track the occupation condition of computing resources on each device while optimizing different module algorithms of the automatic driving system, and is convenient for task arrangement and computing resource distribution of a high-computation-power automatic driving domain controller.
Next, embodiments of the present invention will be described in detail.
Example one
As shown in fig. 1, a distributed heterogeneous automatic driving simulation test method is provided, which includes the following steps:
s11: connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is two, and the number of the X86 CPUs is one;
s21: respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
s31: installing a simulator for automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
s41: creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
s51: creating a simulation scene on the cluster and starting a program of the automatic driving system;
s61: and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
As shown in fig. 2, the connecting the embedded GPU and the X86CPU using a PCIe line includes:
the PCIe lines include a first PCIe line 11 and a second PCIe line 12, the first PCIe line is used to connect two embedded GPUs 2 to one PCIe expansion device 3, the number of the first PCIe lines is four, two of the first PCIe lines are connected to one embedded GPU, the PCIe expansion device is a PCIe Switch, and the PCIe Switch is a device that provides expansion or aggregation capability and allows more devices to be connected to one PCIe port;
and the PCIe expansion device is connected with the X86CPU 4 by using the second PCIe lines, and the number of the second PCIe lines is two.
The connecting the embedded GPU with the X86CPU by using the PCIe line further comprises the following steps:
the embedded GPU is configured into an Endpoint mode, the Endpoint mode is a PCIe Endpoint mode, and is also called an EP mode, the X86CPU is configured into a Root mode, the Root mode is a PCIe Root mode, and IP addresses of the embedded GPU and the X86CPU are configured.
The respectively deploying of the automatic driving systems on the embedded GPU and the X86CPU comprises the following steps:
deploying planning decision, control module and sensor data fusion related algorithm programs of a perception module in the automatic driving system of the X86CPU, deploying image data processing and laser radar data processing related algorithm programs of the perception module in the automatic driving system of the embedded GPU, wherein a deep learning model is used for processing image data and laser radar data, specifically, deploying image data processing related algorithm programs of the perception module in the automatic driving system of one embedded GPU, and deploying laser radar data processing related algorithm programs in the automatic driving system of the other embedded GPU.
The configuring the simulator interface with the autopilot system includes:
configuring an interface of the simulator with communication middleware installed on operating systems of the embedded GPU and the X86 CPU.
The creating of the simulation scenario on the cluster comprises:
and creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
Example two
As shown in fig. 2, a distributed heterogeneous automatic driving simulation test method is provided, which includes the following steps:
s12: connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is three, and the number of the X86 CPUs is one;
s22: respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
s32: installing a simulator for automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
s42: creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
s52: creating a simulation scene on the cluster and starting a program of the automatic driving system;
s62: and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
As shown in fig. 3, the connecting the embedded GPU with the X86CPU using PCIe lines includes:
the PCIe lines include a first PCIe line 11 and a second PCIe line 12, the first PCIe lines are used to connect three embedded GPUs 2 to one PCIe expansion device 3, the number of the first PCIe lines is six, two of the first PCIe lines are connected to one embedded GPU, the PCIe expansion device is a PCIe Switch, and the PCIe Switch is a device that provides expansion or aggregation capability and allows more devices to be connected to one PCIe port;
and the PCIe expansion device is connected with the X86CPU 4 by using the second PCIe lines, and the number of the second PCIe lines is two.
The connecting the embedded GPU with the X86CPU by using the PCIe line further comprises the following steps:
the embedded GPU is configured into an Endpoint mode, the Endpoint mode is a PCIe Endpoint mode, and is also called an EP mode, the X86CPU is configured into a Root mode, the Root mode is a PCIe Root mode, and IP addresses of the embedded GPU and the X86CPU are configured.
The respectively deploying of the automatic driving systems on the embedded GPU and the X86CPU comprises the following steps:
deploying a planning decision and control module related algorithm program in the autopilot system of the X86CPU, deploying a perception module related algorithm program in the autopilot system of the embedded GPU, the perception module including processing image data, processing lidar data, and sensor data fusion, wherein processing image data and processing lidar data is performed using a deep learning model, and in particular, deploying an image data related algorithm program of a perception module in the autopilot system of an embedded GPU, deploying a lidar data related algorithm program in the autopilot system of an embedded GPU, and deploying a sensor data fusion related algorithm program in the autopilot system of an embedded GPU.
The configuring the simulator interface with the autopilot system includes:
configuring an interface of the simulator with communication middleware installed on operating systems of the embedded GPU and the X86 CPU.
The creating of the simulation scenario on the cluster comprises:
and creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
EXAMPLE III
As shown in fig. 4, a distributed heterogeneous automatic driving simulation test method is provided, which includes the following steps:
s13: connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is four, and the number of the X86 CPUs is one;
s23: respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
s33: installing a simulator of automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
s43: creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
s53: creating a simulation scene on the cluster and starting a program of the automatic driving system;
s63: and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
As shown in fig. 5, the connecting the embedded GPU with the X86CPU using PCIe lines includes:
the PCIe lines include a first PCIe line 11 and a second PCIe line 12, the four embedded GPUs 2 are connected to one PCIe expansion device 3 by using the first PCIe line, the number of the first PCIe lines is eight, two of the first PCIe lines are connected to one embedded GPU, the PCIe expansion device is a PCIe Switch, and the PCIe Switch is a device that provides expansion or aggregation capability and allows more devices to be connected to one PC le port;
and the PCIe expansion device is connected with the X86CPU 4 by using the second PCIe lines, and the number of the second PCIe lines is two.
The connecting the embedded GPU with the X86CPU by using the PCIe line further comprises the following steps:
the embedded GPU is configured into an Endpoint mode, the Endpoint mode is a PCIe Endpoint mode, and is also called an EP mode, the X86CPU is configured into a Root mode, the Root mode is a PCIe Root mode, and IP addresses of the embedded GPU and the X86CPU are configured.
The respectively deploying of the automatic driving systems on the embedded GPU and the X86CPU comprises the following steps:
deploying planning decision and control module related algorithm programs in the automatic driving system of the X86CPU, deploying sensing module related algorithm programs in the automatic driving system of the embedded GPU, wherein the sensing module comprises processing image data, processing laser radar data and sensor data fusion, processing image data and processing laser radar data by using a deep learning model, specifically, deploying the processing image data related algorithm programs of the sensing module in the automatic driving systems of two embedded GPUs, deploying the processing laser radar data related algorithm programs in the automatic driving system of one embedded GPU, and deploying the sensor data fusion related algorithm programs in the automatic driving system of one embedded GPU.
The configuring the simulator interface with the autopilot system includes:
configuring an interface of the simulator with communication middleware installed on operating systems of the embedded GPU and the X86 CPU.
The creating of the simulation scenario on the cluster comprises:
and creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
Example four
The distributed heterogeneous automatic driving simulation test method comprises the following steps:
the embedded GPUs are connected with an X86CPU by using PCIe lines, and the embedded GPUs and the X86CPU are connected to the same local area network, wherein the number of the embedded GPUs is four, the number of the X86CPU is one, specifically, the embedded GPUs used in the embodiment are all edge computing devices Jetson AGX Xavier (hereinafter referred to as Xavier) of NVIDIA company, the four embedded GPUs are Xavier-A, Xavier-B, Xavier-C, Xavier-D respectively, the used CPU model is Intel (R) Xeon (R) Silver 4210CPU (hereinafter referred to as Intel CPU), the used PCIe lines are PCIe3.0, and the operating systems loaded by the Xavier and the Intel CPU are Ubuntu 20.04;
automatic driving systems are respectively deployed on the Xavier and the Intel CPU, specifically, the automatic driving system used in this embodiment is an open-source architecture auto;
installing an automatic driving Simulator on the X86CPU, and configuring an interface between the Simulator and the automatic driving system, wherein the Simulator used in the embodiment is an SVL Simulator of LG company;
creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
creating a simulation scene on the cluster and starting a program of the automatic driving system;
and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
The connecting the Xavier with the Intel CPU by using the PCIe line comprises the following steps:
the PCIe lines comprise a first PCIe line and a second PCIe line, the first PCIe line is used for respectively connecting four Xaviers to one PCIe expansion device, the number of the first PCIe lines is eight, each two of the first PCIe lines are connected with one Xavier, the PCIe expansion device is a PCIe Switch, and the PCIe Switch is a device which provides expansion or aggregation capability and allows more devices to be connected to one PCle port;
and connecting the PCIe expansion equipment with the Intel CPU by using the second PCIe lines, wherein the number of the second PCIe lines is two.
The connecting the Xavier with the Intel CPU by using the PCIe line further comprises:
configuring the embedded GPU as an Endpoint mode, namely a PCIe Endpoint mode, also called an EP mode, configuring an Intel CPU as a Root mode, namely a PCIe Root mode, and configuring the Xavier and the IP address of the Intel CPU, wherein the specific configuration is shown in the following table:
device | IP |
IntelCPU | 192.168.2.1 |
Xavier-A | 192.168.2.2 |
Xavier-B | 192.168.2.3 |
Xavier-C | 192.168.2.4 |
Xavier-D | 192.168.2.5 |
The respectively deploying of the automatic driving systems on the Xavier and the Intel CPU comprises the following steps:
deploying planning decision and control module related algorithm programs in the automatic driving system of the Intel CPU, deploying perception module related algorithm programs in the automatic driving system of the Xavier, wherein the perception module comprises processing image data, processing laser radar data and sensor data fusion, processing image data and processing laser radar data by using a deep learning model, specifically, deploying the perception module related algorithm programs in the automatic driving systems of two Xaviers, deploying the laser radar data related algorithm programs in the automatic driving system of one Xavier, and deploying the sensor data fusion related algorithm programs in the automatic driving system of one Xavier.
The configuring the simulator interface with the autopilot system includes:
an interface between the simulator and a communication middleware is configured, where the communication middleware is installed on operating systems of the Xavier and the Intel CPU, and the communication middleware used in this embodiment is ROS2 (robot operating system 2, specifically, Foxy version), and an ROS2 version is consistent with kernel versions of the Intel CPU and operating systems on the Xavier, so that the Intel CPU and the Xavier can implement point-to-point communication, and the simulator can communicate with an automatic driving system on the Intel CPU and the Xavier.
The creating of the simulation scenario on the cluster comprises:
specifically, the embodiment creates a simulation scene of automatic valet parking in the cluster, configures a point cloud map of a parking lot for positioning, configures a high-precision map of the parking lot for navigation, uses an awflex 2016RXHybrid as a vehicle model, and uses main sensors to be configured: the Traffic condition is set to be Random Traffic in a simulation scene, and no pedestrian or obstacle exists in sunny days.
In this embodiment, the setting of the task of the automatic driving system in the simulation scene includes specifying a start point and an end point of an automatic valet parking task, and then testing the algorithm performance of the automatic driving system, so that the effect of the algorithm can be observed in the simulator, and the utilization rate of system computing resources can be observed in five devices, i.e., the Intel CPU and the Xavier, by using a performance monitoring tool.
The automatic driving system of the embodiment selects automatic passenger parking, and in other embodiments, other tasks such as expressway lane keeping, logistics trolleys in a closed park, automatic loading, transporting and unloading in a mining area, automatic driving of a taxi and the like can also be selected.
EXAMPLE five
As shown in fig. 7, a distributed heterogeneous autopilot simulation testing system is provided, the system comprising:
the connection module 5: the system comprises a peripheral component interface (CPU) and a peripheral component interface (CPU), wherein the peripheral component interface (CPU) is used for connecting an embedded GPU with an X86CPU by using a peripheral component interface (PCIe) line and connecting the embedded GPU and the X86CPU to the same local area network, and the number of the embedded GPUs is multiple;
the deployment module 6: for deploying an autopilot system on the embedded GPU and the X86CPU, respectively;
installing the module 7: a simulator for installing an autopilot on the X86CPU and configuring the simulator's interface with the autopilot system;
the cluster creation module 8: the simulator is used for creating a cluster on the simulator and connecting the simulator and the automatic driving system to the same local area network;
the simulation scene creation module 9: a program for creating a simulation scenario on the cluster and starting the autopilot system;
the test module 10: and the method is used for setting the task of the automatic driving system in the simulation scene and testing the algorithm performance of the automatic driving system.
The PCIe lines of the connection module 5 include a first PCIe line and a second PCIe line, and the connection module includes:
a first connection module 51; the first PCIe line is used for connecting the embedded GPU to PCIe expansion equipment respectively;
a second connection module 52; for connecting the PCIe expansion device with the X86CPU using the second PCIe line.
The connection module 5 further comprises:
the configuration module 53: the method is used for configuring the embedded GPU into an Endpoint mode, configuring an X86CPU into a Root mode and configuring the IP addresses of the embedded GPU and the X86 CPU.
The deployment module 6 comprises:
deployment submodule 61: and the system is used for deploying planning decision and control module related algorithm programs in the automatic driving system of the X86CPU and deploying perception module related algorithm programs in the automatic driving system of the embedded GPU.
The perception module of the deployment sub-module includes processing image data, processing lidar data, and sensor data fusion, wherein the image data and the lidar data are processed using a deep learning model.
Alternatively, the deployment module comprises:
deploying a submodule: sensor data fusion related algorithm programs for deploying planning decisions, control modules and perception modules in the autopilot system of the X86CPU, processing image data, processing lidar data related algorithm programs for deploying perception modules in the autopilot system of the embedded GPU, wherein deep learning models are used for processing image data and processing lidar data.
The interface of the installation module 7 configuring the simulator with the autopilot system comprises:
configuration submodule 71: an interface for configuring the simulator with communication middleware installed on the operating systems of the embedded GPU and the X86 CPU.
Said creating a simulation scenario on said cluster by said simulation scenario creation module 9 comprises:
creating sub-module 91: the system is used for creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
Through the embodiment, the PCIe lines are used for connecting the embedded GPUs and the X86CPU, so that the automatic driving system on each device can realize point-to-point communication, and compared with the traditional Ethernet communication mode, the communication bandwidth is greatly improved, and the communication delay is reduced; in addition, by the distributed heterogeneous automatic driving simulation test method, not only can the task of simulator algorithm test be completed, but also different module algorithms of the automatic driving system can be optimized, the occupation condition of computing resources on each device can be sampled and tracked, and great help is provided for task arrangement and computing resource allocation of a large-computing-capacity automatic driving domain controller.
EXAMPLE six
There is provided a computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the following steps when executing the computer program:
connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is multiple;
respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
installing a simulator of automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
creating a simulation scene on the cluster, and starting a program of the automatic driving system;
and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
In one embodiment, the computer program, when executed by a processor, for interfacing an embedded GPU with an X86CPU using PCIe lines comprises the steps of:
the PCIe lines comprise a first PCIe line and a second PCIe line, and the first PCIe line is used for respectively connecting the embedded GPU to PCIe expansion equipment;
connecting the PCIe expansion device with the X86CPU using the second PCIe line.
In one embodiment, the step of connecting the embedded GPU to the X86CPU using a PCIe line further comprises, when the computer program is executed by the processor:
the embedded GPU is configured into an Endpoint mode, the X86CPU is configured into a Root mode, and IP addresses of the embedded GPU and the X86CPU are configured.
In one embodiment, the deployment of the autopilot system on the embedded GPU and the X86CPU, respectively, when the processor executes the computer program, comprises the steps of:
deploying planning decision and control module related algorithm programs in the automatic driving system of the X86CPU, and deploying perception module related algorithm programs in the automatic driving system of the embedded GPU.
In one embodiment, the sensing module, when the processor executes the computer program, includes processing the image data, processing the lidar data, and sensor data fusion, wherein the image data and the lidar data are processed using a deep learning model.
In one embodiment, the deployment of the autopilot system on the embedded GPU and the X86CPU, respectively, when the processor executes the computer program, comprises the steps of:
deploying a sensor data fusion related algorithm program of a planning decision, a control module and a perception module in the automatic driving system of the X86CPU, deploying a processing image data and a processing laser radar data related algorithm program of the perception module in the automatic driving system of the embedded GPU, wherein a deep learning model is used for processing image data and processing laser radar data.
In one embodiment, the configuring the simulator interface with the autopilot system when the processor executes the computer program comprises the steps of:
configuring an interface of the simulator with communication middleware installed on operating systems of the embedded GPU and the X86 CPU.
In one embodiment, the creating a simulation scenario on the cluster when the processor executes the computer program comprises the following steps:
and creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as shown in fig. 8. The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The database of the computer device is used for storing data stored in a distributed manner. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a distributed storage oriented capacity equalization optimization method.
Those skilled in the art will appreciate that the architecture shown in fig. 8 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
EXAMPLE seven
In one embodiment, there is provided a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
connecting an embedded GPU and an X86CPU by using a PCIe line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is multiple;
respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
installing a simulator for automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
creating a cluster on the simulator, and connecting the simulator and the automatic driving system to the same local area network;
creating a simulation scene on the cluster and starting a program of the automatic driving system;
and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
In one embodiment, the computer program, when executed by a processor, for interfacing an embedded GPU with an X86CPU using PCIe lines comprises the steps of:
the PCIe lines comprise a first PCIe line and a second PCIe line, and the first PCIe line is used for respectively connecting the embedded GPU to PCIe expansion equipment;
connecting the PCIe expansion device with the X86CPU using the second PCIe line.
In one embodiment, the computer program, when executed by the processor, further comprises the steps of connecting the embedded GPU to the X86CPU using a PCIe line:
and configuring the embedded GPU into an Endpoint mode, configuring an X86CPU into a Root mode, and configuring the IP addresses of the embedded GPU and the X86 CPU.
In one embodiment, the computer program, when executed by a processor, deploys the autopilot system on the embedded GPU and the X86CPU, respectively, comprises the steps of:
and deploying planning decision and control module related algorithm programs in the automatic driving system of the X86CPU, and deploying perception module related algorithm programs in the automatic driving system of the embedded GPU.
In one embodiment, the computer program, when executed by the processor, the perception module includes processing image data, processing lidar data, and sensor data fusion, wherein the image data and the lidar data are processed using a deep learning model.
In one embodiment, the computer program, when executed by a processor, deploys the autopilot system on the embedded GPU and the X86CPU, respectively, comprises the steps of:
deploying a sensor data fusion related algorithm program of a planning decision, a control module and a perception module in the automatic driving system of the X86CPU, deploying a processing image data and a processing laser radar data related algorithm program of the perception module in the automatic driving system of the embedded GPU, wherein a deep learning model is used for processing image data and processing laser radar data.
In one embodiment, the computer program, when executed by a processor, configures the simulator interface with the autopilot system comprising the steps of:
configuring an interface of the simulator with communication middleware installed on operating systems of the embedded GPU and the X86 CPU.
In one embodiment, the computer program, when executed by a processor, creates a simulation scenario on the cluster comprising the steps of:
and creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), Rambus (Rambus) direct RAM (RDRAM), direct bused dynamic RAM (DRDRAM), and bused dynamic RAM (RDRAM).
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.
Claims (10)
1. A distributed heterogeneous automatic driving simulation test method is characterized by comprising the following steps:
connecting an embedded GPU with an X86CPU by using a PCI e line, and connecting the embedded GPU and the X86CPU to the same local area network, wherein the number of the embedded GPUs is multiple;
respectively deploying automatic driving systems on the embedded GPU and the X86 CPU;
installing a simulator for automatic driving on the X86CPU, and configuring an interface of the simulator and the automatic driving system;
creating a cluster on the simulator;
creating a simulation scene on the cluster and starting a program of the automatic driving system;
and setting a task of the automatic driving system in the simulation scene, and testing the algorithm performance of the automatic driving system.
2. The method of claim 1, wherein connecting the embedded GPU with the X86CPU using a PCIe line comprises:
the PCIe lines comprise a first PCIe line and a second PCIe line, and the first PCIe line is used for respectively connecting the embedded GPU to PCIe expansion equipment;
connecting the PCIe expansion device with the X86CPU using the second PCIe line.
3. The method of claim 1, wherein connecting the embedded GPU with the X86CPU using a PCIe line further comprises:
the embedded GPU is configured into an Endpoint mode, the X86CPU is configured into a Root mode, and IP addresses of the embedded GPU and the X86CPU are configured.
4. The method of claim 1, wherein said deploying an autopilot system on said embedded GPU and said X86CPU, respectively, comprises:
deploying planning decision and control module related algorithm programs in the automatic driving system of the X86CPU, and deploying perception module related algorithm programs in the automatic driving system of the embedded GPU.
5. The method of claim 5, wherein the perception module comprises processing image data, processing lidar data, and sensor data fusion, wherein the image data and the lidar data are processed using a deep learning model.
6. The method of claim 1, wherein said deploying an autopilot system on said embedded GPU and said X86CPU, respectively, comprises:
deploying a sensor data fusion related algorithm program of a planning decision, a control module and a perception module in the automatic driving system of the X86CPU, deploying a processing image data and a processing laser radar data related algorithm program of the perception module in the automatic driving system of the embedded GPU, wherein a deep learning model is used for processing image data and processing laser radar data.
7. The method of claim 1, wherein the configuring the simulator interface with the autonomous driving system comprises:
configuring an interface of the simulator with communication middleware, wherein the communication middleware is installed on operating systems of the embedded GPU and the X86 CPU.
8. The method of claim 1, wherein the creating a simulation scenario on the cluster comprises:
and creating weather, traffic condition, pedestrian and obstacle information in a simulation scene on the cluster, configuring map and vehicle model information, and configuring sensor information required to be carried by the vehicle model.
9. A distributed heterogeneous autopilot simulation test system, comprising:
a connecting module: the system comprises a local area network, an embedded GPU and an X86CPU, wherein the embedded GPU and the X86CPU are connected through PCIe lines, and the number of the embedded GPUs is multiple;
a deployment module: for deploying an autopilot system on the embedded GPU and the X86CPU, respectively;
installing a module: a simulator for installing an autopilot on the X86CPU and configuring the simulator's interface with the autopilot system;
a cluster creation module: the cluster is used for creating a cluster on the simulator, and the simulator and the automatic driving system are connected to the same local area network;
a simulation scene creation module: a program for creating a simulation scenario on the cluster and starting the autopilot system;
a test module: and the method is used for setting the task of the automatic driving system in the simulation scene and testing the algorithm performance of the automatic driving system.
10. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the steps of the method according to any of claims 1 to 8 are implemented when the computer program is executed by the processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210572557.7A CN115016317A (en) | 2022-05-24 | 2022-05-24 | Distributed heterogeneous automatic driving simulation test method, system and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210572557.7A CN115016317A (en) | 2022-05-24 | 2022-05-24 | Distributed heterogeneous automatic driving simulation test method, system and equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115016317A true CN115016317A (en) | 2022-09-06 |
Family
ID=83069140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210572557.7A Withdrawn CN115016317A (en) | 2022-05-24 | 2022-05-24 | Distributed heterogeneous automatic driving simulation test method, system and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115016317A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069504A (en) * | 2023-01-28 | 2023-05-05 | 广汽埃安新能源汽车股份有限公司 | Scheduling method and device for multi-core processor in automatic driving simulation |
-
2022
- 2022-05-24 CN CN202210572557.7A patent/CN115016317A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069504A (en) * | 2023-01-28 | 2023-05-05 | 广汽埃安新能源汽车股份有限公司 | Scheduling method and device for multi-core processor in automatic driving simulation |
CN116069504B (en) * | 2023-01-28 | 2023-11-10 | 广汽埃安新能源汽车股份有限公司 | Scheduling method and device for multi-core processor in automatic driving simulation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886993B2 (en) | Method and apparatus for task scheduling based on deep reinforcement learning, and device | |
CN110207716B (en) | Reference driving line rapid generation method, system, terminal and storage medium | |
DE102022107621A1 (en) | RESOURCE SELECTION PARTLY BASED ON WORKLOAD | |
EP3699698A1 (en) | Method, device and apparatus for processing control parameter, and storage medium | |
EP3620945A1 (en) | Obstacle distribution simulation method, device and terminal based on multiple models | |
EP3620820A1 (en) | Simulation data augmentation method, device and terminal | |
CN115016317A (en) | Distributed heterogeneous automatic driving simulation test method, system and equipment | |
CN114036253B (en) | High-precision map data processing method, device, electronic equipment and medium | |
DE102020201546A1 (en) | Technologies for providing hardware resources as a service with direct resource addressability | |
CN111275179A (en) | Architecture and method for accelerating neural network calculation based on distributed weight storage | |
CN113383283A (en) | Perception information processing method and device, computer equipment and storage medium | |
CN111079634B (en) | Method, device and system for detecting obstacle in running process of vehicle and vehicle | |
US20220244068A1 (en) | Dynamic map generation with focus on construction and localization field of technology | |
CN115794414A (en) | Satellite-to-ground full-view analysis method, device and equipment based on parallel computing | |
US20200082038A1 (en) | Method and device for simulating a distribution of obstacles | |
US10223601B1 (en) | Synthetic traffic object generator | |
JP2023541167A (en) | Map matching methods, devices, electronic devices and storage media | |
CN115469912B (en) | Heterogeneous real-time information processing system design method | |
CN111177878B (en) | Derived simulation scene screening method, device and terminal | |
CN112307361A (en) | Severe weather prompting method, prompting system, storage medium and electronic device | |
CN112948946B (en) | Tower data processing method, device, equipment and storage medium based on tower model | |
CN115527187A (en) | Method and device for classifying obstacles | |
CN114398253A (en) | Method and system for generating test scene of automatic driving real vehicle | |
CN118369661A (en) | Map updating method and device | |
CN112416604B (en) | Method and system for saving PathIndex resource based on ADASISV2 protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220906 |