CN-122019380-A - Parallel simulation engine and method for large-scale unmanned aerial vehicle cluster collaborative capability test
Abstract
The invention discloses a parallel simulation engine and a method for testing the collaborative capability of a large-scale unmanned aerial vehicle cluster, which relate to the technical field of unmanned aerial vehicle simulation and comprise a parallel simulation engine core layer and a functional module layer constructed on the parallel simulation engine core layer, wherein the parallel simulation engine core layer comprises an entity assembly system module, a heterogeneous computation scheduler and a pipeline simulation propeller; the functional module layer comprises an unmanned aerial vehicle cluster modeling module, an algorithm plug-in management module, a simulation acceleration module and a space partition module, wherein a heterogeneous computation scheduler carries out load assessment according to the output of the space partition module and dynamically distributes tasks to CPU multi-cores/GPUs, and a pipeline simulation propeller coordinates an entity assembly system module, the algorithm plug-in management module and the simulation acceleration module to sequentially execute state reading, parallel decision computation and state batch updating in each simulation time step. And the test and verification of the cluster cooperation algorithm of the thousand-frame unmanned aerial vehicle are effectively supported.
Inventors
- KUANG FEI
- JIANG CHUNMAO
- ZHU HUI
- CHEN ZIYU
- XU LIWEI
- ZHANG SHIJIN
Assignees
- 中国科学院合肥物质科学研究院
Dates
- Publication Date
- 20260512
- Application Date
- 20260127
Claims (10)
- 1. The parallel simulation engine for the large-scale unmanned aerial vehicle cluster collaborative capability test is characterized by being constructed based on a fantasy engine and comprising a parallel simulation engine core layer and a functional module layer constructed on the parallel simulation engine core layer, wherein: The parallel simulation engine core layer comprises: the system comprises an entity component system module, a control module and a control module, wherein the entity component system module is configured to decompose the state data of an unmanned aerial vehicle entity into independent components and store the component data of the same type in a continuous memory in a structured array layout; A heterogeneous computation scheduler configured to perform task dependency analysis and dynamic load balancing based on a directed acyclic graph constructed from simulation tasks; the pipeline simulation propeller is configured to drive simulation circulation according to simulation time steps by adopting a double-buffer state synchronization mechanism; the functional module layer includes: A drone cluster modeling module configured to create and manage drone entities and their components based on the entity component system module; the algorithm plug-in management module is configured to integrate and manage a cluster collaborative algorithm plug-in and provide a parallel processing interface for the algorithm plug-in; The simulation acceleration module is configured to distribute the computation-intensive tasks of collision detection and neighborhood query to the GPU, and perform parallel computation through the computation shader; the space partitioning module is configured to dynamically divide the three-dimensional simulation space by adopting an octree structure so as to support quick query and task allocation based on space positions; The assembly line simulation propeller coordinates the entity assembly system module, the algorithm plug-in management module and the simulation acceleration module to sequentially execute state reading, parallel decision calculation and state batch updating in each simulation time step.
- 2. The parallel simulation engine for large-scale unmanned aerial vehicle cluster co-capability testing of claim 1, wherein the entity-component system module comprises: an entity manager for assigning and retrieving identifiers of unmanned aerial vehicle entities; The component memory is used for respectively storing the position component, the speed component, the gesture component and the task component data of the unmanned aerial vehicle in the form of independent continuous arrays; And the system scheduler is used for scheduling execution of each logic system for carrying out batch processing on the data in the component memory.
- 3. The parallel simulation engine for massive unmanned aerial vehicle cluster co-capability testing according to claim 2, wherein in the component memory, the position component is a three-dimensional floating point vector array and the gesture component is a quaternion array.
- 4. The parallel simulation engine for large-scale unmanned aerial vehicle cluster co-capability testing according to claim 1, wherein the octree structure adopted by the space partitioning module dynamically adjusts the partitioning depth according to the unmanned secret in the subspace.
- 5. The parallel simulation engine of large-scale unmanned aerial vehicle cluster co-capability testing of claim 1, wherein the simulation acceleration module is further configured to: Calculating the distances between the unmanned aerial vehicles in parallel by using the GPU to generate a distance matrix; Constructing a space hash table in parallel by the GPU to reduce the complexity of neighborhood query to a constant level; And performing collision detection coarse screening based on the bounding box in parallel through the GPU.
- 6. The parallel simulation engine for the large-scale unmanned aerial vehicle cluster collaborative capability test according to claim 1, wherein the functional module layer further comprises a perception sensor parallel simulation module, the perception sensor parallel simulation module generates laser radar point cloud data of a plurality of unmanned aerial vehicles in parallel through GPU ray projection, depth camera depth map data of the plurality of unmanned aerial vehicles are generated in batches through an instantiation rendering technology, and the generated data are stored in a component memory of the entity component system module as components.
- 7. The parallel simulation engine for large-scale unmanned aerial vehicle cluster co-capability testing according to claim 1, wherein the double-buffer state synchronization mechanism specifically comprises: setting a front buffer area and a rear buffer area which are respectively used for storing read-only state data of a current frame and state data to be updated of a next frame; at the end of a simulation time step, the roles of the front buffer and the rear buffer are swapped.
- 8. A parallel simulation method for a large-scale unmanned aerial vehicle cluster co-capability test based on the engine of any one of claims 1 to 7, comprising the steps of: Configuring a test scene, and creating unmanned aerial vehicle entities with corresponding quantity and initial states in the unmanned aerial vehicle cluster modeling module; Loading at least one cluster collaborative algorithm plugin through an algorithm plugin management module; starting the parallel simulation engine, coordinating with the pipeline simulation propeller by the heterogeneous computation scheduler, and executing parallel simulation comprising the cluster cooperative algorithm; in the simulation process, the state data of each unmanned aerial vehicle is recorded through the entity assembly system module; based on the recorded state data, an index is calculated that reflects the collaborative performance of the cluster.
- 9. The parallel simulation method for testing the cluster coordination capability of the large-scale unmanned aerial vehicle according to claim 8, wherein the calculation reflects the index of the cluster coordination performance, and comprises the steps of calculating the formation retention precision, specifically: Setting a target formation in the simulation; recording a cluster formation transformation process; and calculating the deviation between the actual position of the unmanned aerial vehicle and the position of the target formation in each time step according to the position assembly data.
- 10. The parallel simulation method for testing the cluster coordination ability of the large-scale unmanned aerial vehicle according to claim 8, wherein the calculation reflects the index of the cluster coordination performance, and comprises the following steps of evaluating the coordination obstacle avoidance performance: configuring an obstacle in a test scene; Setting tasks for clusters to cross the obstacle; And according to the simulation record, counting collision events and obstacle avoidance maneuver data.
Description
Parallel simulation engine and method for large-scale unmanned aerial vehicle cluster collaborative capability test Technical Field The invention relates to the technical field of unmanned aerial vehicle simulation, in particular to a parallel simulation engine and method for testing the collaborative capability of a large-scale unmanned aerial vehicle cluster. Background With the rapid development of unmanned aerial vehicle technology, unmanned aerial vehicle cluster cooperatively executing tasks such as reconnaissance, search, formation flight and the like has become an important application direction. In this context, there is an increasing need for development and verification of cluster cooperative control algorithms (e.g., formation holding, task allocation, cooperative obstacle avoidance, etc.). The real flight test has high cost and high risk, and the high-efficiency and vivid test of the large-scale unmanned aerial vehicle cluster coordination capability in the simulation environment becomes a key link of algorithm research and development. Currently, unmanned aerial vehicle cluster simulation is mostly implemented based on a traditional Object-oriented (Object-Oriented Programming, OOP) architecture. The architecture typically instantiates a separate object for each drone, encapsulating all its attributes of location, speed, state, algorithm references, etc. However, when the cluster scale is extended to hundreds or even thousands of frames, such conventional simulation architecture faces serious performance bottlenecks, and it is difficult to meet the real-time simulation requirements. Specifically, the prior art has mainly the following drawbacks: The first, memory access efficiency is low, the traditional OOP architecture adopts the memory layout of a structure array (Array of Structures, aoS), and the data of each unmanned aerial vehicle object is discretely distributed in the physical memory. When the system needs to traverse a large number of unmanned aerial vehicles, CPU accesses to the discontinuous data can lead to rapid decrease of cache hit rate, frequent cache miss is generated, and the efficiency of data reading and updating is seriously restricted. Secondly, the parallelization degree is insufficient, namely in the traditional architecture, simulation logic is usually processed with single-frame unmanned aerial vehicle as granularity, or coarse-granularity multithreading is adopted, and fine-granularity data-level parallelization is difficult to realize. This results in an inability to take full advantage of the single instruction Multiple Data (Single Instruction, multiple Data, SIMD) instruction set of modern CPUs for vectorized computations, nor is it difficult to efficiently schedule CPUs/GPGs to perform massively parallel computing tasks such as collision detection, neighborhood queries, etc. Third, the traditional simulation platform lacks an efficient dynamic task scheduling and load balancing mechanism. Because the unmanned aerial vehicle is likely to be highly unevenly distributed in the simulation space, a calculation hot spot area is easy to form, so that part of calculation cores are overloaded and other cores are idle, the overall simulation performance is limited by the calculation unit with the heaviest load, and the balance load across the cores cannot be realized. Fourth, heterogeneous computing is cooperatively difficult, and it is difficult for conventional architectures to flexibly and efficiently distribute different types of computing tasks (e.g., logical decisions, physical computing, perceptual simulations) to the most appropriate computing units. For example, the computationally intensive collision detection task cannot be efficiently loaded into the GPU for parallel processing, and the CPU still has to undertake a large number of potentially parallel accelerated computations, resulting in low utilization of heterogeneous computing resources. The defects in the prior art commonly cause the problems that the frame rate is reduced, the simulation speed is far lower than real-time, the real-time requirement of algorithm iterative verification cannot be met and the like when the existing simulation platform processes unmanned aerial vehicle clusters with more than thousand frames. Therefore, a new simulation engine architecture is needed, which can fundamentally break through the bottlenecks in memory access, parallel computing, resource scheduling and the like, so as to support the efficient, high-fidelity and real-time simulation test of the large-scale unmanned aerial vehicle cluster coordination capability. Disclosure of Invention In order to solve the above technical problems, the first aspect of the present invention provides a parallel simulation engine for large-scale unmanned aerial vehicle cluster collaborative capability test, the engine is constructed based on a phantom engine, and comprises a parallel simulation engine core layer and a functional mod