Real-time flight conflict detection method based on digital gridding
Through hierarchical grid design, octree indexing and parallel computing, the grid granularity is dynamically adjusted, which solves the problems of high computational complexity and poor real-time performance of flight conflict detection in existing technologies, realizes efficient flight conflict detection, and improves the system's processing capability and response speed.
Patent Information
- Application Number
- CN202510970439.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-15
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2045-07-15
AI Technical Summary
Existing flight conflict detection methods have high computational complexity and poor real-time performance, making it difficult to process high-density trajectory data, especially in large hub airports, and cannot meet real-time detection needs.
A real-time flight conflict detection method based on digital gridding is adopted. Through hierarchical grid design, octree spatial indexing and parallel computing, the grid granularity is dynamically adjusted to achieve efficient flight conflict detection.
The system's processing capability and response speed for high-density track data have been improved, and the single-cycle detection time has been reduced from seconds to milliseconds, significantly enhancing the real-time and reliability of the air traffic control system.
Smart Images

Figure CN120636207A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of conflict detection, and in particular to a real-time flight conflict detection method based on digital gridding. Background Art
[0002] Current flight conflict detection methods used in air traffic management suffer from high computational complexity and poor real-time performance. Particularly in scenarios with large numbers of aircraft or dense airspace, traditional methods rely on simple geometric models or prediction-based algorithms, processing a maximum of 500 tracks. This makes them inadequate for the real-time conflict detection requirements of large hub airports, which process thousands of tracks per second. To reduce single-cycle detection latency to milliseconds and support concurrent processing of 2,000 or more tracks, a dynamically adjustable grid and efficient parallelization mechanism are required.
[0003] Patent application number CN202310281430.4, a method for decoupling control of trajectory conflicts based on airspace grids, only divides the airspace statically; Patent application number CN201910155073.0, a method for rapid detection of flight conflicts based on adjacent grids, judges adjacent grids by coordinates; Patent application number CN202210799943.X, a method, device and electronic equipment for UAV trajectory planning based on airspace grids, statically divides the airspace. In summary, the shortcomings of the existing technology include: 1) The airspace division is static, and the grid accuracy cannot be dynamically adjusted according to the density of aircraft, resulting in low computing resource utilization; 2) The lack of an efficient spatial indexing mechanism leads to low efficiency in judging conflicts in adjacent areas; 3) The lack of parallel design makes it difficult to give full play to the performance advantages of multi-core computing resources and cannot meet real-time processing requirements. Summary of the Invention
[0004] In order to address the problems of low computational efficiency, poor real-time performance, and rough grid division in flight conflict detection, and to improve the system's processing capability and response speed for high-density track data, this application provides a real-time flight conflict detection method based on digital gridding, which can quickly and accurately detect flight conflicts.
[0005] This application discloses a real-time flight conflict detection method based on digital gridding, which includes: Step 1: Airspace Gridding: Load the set airspace parameters, determine the latitude and longitude range of the airspace based on the airspace parameters, and calculate the grid granularity. The system uses a hierarchical grid design, initially generating a first-level grid. In areas with dense aircraft, the first-level grid is sequentially refined to generate multiple sub-grids. Each grid cell has a unique ID, and the aircraft is assigned a track based on its geographic location. Airspace parameters include minimum altitude, maximum altitude, and radius. Step 2: Spatial Optimization: Manage the three-dimensional space, divide nodes by spatial range, and store a specified number of grid units in each node. When the node capacity exceeds the threshold, it is automatically subdivided into multiple sub-nodes to achieve recursive partitioning of the space. Through spatial intersection judgment, grid query and insertion are realized. Step 3: Collect the real-time flight path data of the aircraft and map it to the corresponding grid cell according to its position in the airspace; the flight path data includes latitude and longitude, altitude, and speed; Step 4: Divide the conflict detection task of each grid cell and its adjacent grids into multiple subtasks for parallel processing to generate a global conflict result set, thus achieving large-scale real-time flight conflict detection.
[0006] Furthermore, the step 1 includes: Step 11: Initialization of grid division: When the system needs to perform gridded flight conflict detection, the set airspace parameters are loaded and the grid division method is determined according to the airspace parameters; Step 12: Grid division process: Generate a first-level grid, divide the first-level grid into finer-grained grids, and generate grid cell numbers; Step 13: Assigning aircraft to grids: Once the basic grid structure is generated, the system assigns aircraft to corresponding grid cells based on their geographic locations. Each aircraft's latitude, longitude, and altitude information are compared with the grid cell boundaries to determine whether the aircraft is located in that grid cell.
[0007] Furthermore, the step 11 includes: Step 111: Obtain airspace parameters: Set airspace parameters to provide a basis for subsequent grid division; Step 112: Calculate the latitude and longitude range: Based on the center coordinates and radius of the airspace, calculate the range of the airspace in longitude and latitude, that is, define the coverage range of the airspace on the two-dimensional screen; Step 113: Determine the granularity of the grid division: Determine the required grid division granularity, i.e., the size of the grid unit, based on the size of the airspace. Grids with larger granularity are suitable for scenarios with a larger airspace and a smaller number of aircraft, while grids with smaller granularity are suitable for scenarios with dense aircraft or a smaller airspace.
[0008] Furthermore, the step 12 includes: First-level grid generation: Based on the calculated latitude, longitude, and altitude ranges, the system generates the first-level grid cells. The system has defined seven levels of grid cell scales according to the Beidou grid standard. The starting level is determined based on the airspace's span (x) in longitude or latitude. Finer-grained grid generation: After the first layer of grid generation, the system will generate finer-grained grids based on the position of the aircraft. The current grid is subdivided to generate finer grids. Each finer-grained grid cell is assigned to an aircraft in the area. Grid subdivision strategy: The granularity of grid subdivision depends on the level. Different granularities are used for different grid levels. The size of each grid is determined according to the Beidou grid standard. The grid size includes the latitude, longitude, and altitude steps. Generation of grid cell ID: Each grid cell has a unique ID, which is composed of the grid level, latitude and longitude index, and altitude index.
[0009] Furthermore, determining the starting level according to the span x of the airspace in the longitude or latitude direction includes: According to the Beidou grid standard, the preset array x={k1, k2, k3, k4, k5, k6, k7} corresponds to the latitude and longitude span thresholds of each level of grid respectively; according to the maximum span x of the airspace in the longitude and latitude directions, find the first one that meets x If the index i of (ki,ki+1) is set, the initial grid level is set to i+1; where ki is the lower bound corresponding to the i-th level, and ki+1 is the upper bound; If x is less than the minimum threshold, the seventh level is selected; if it exceeds the maximum threshold, it falls back to the lower level 1. There is no need to refine from the coarsest layer, and the starting level of the grid that matches the airspace scale can be located with one click.
[0010] Furthermore, the step 13 includes: Definition of grid cells: The spatial extent of each grid cell is determined by its minimum and maximum latitude, longitude, and altitude values. The position of an aircraft is used to determine whether it falls within a grid cell. Aircraft allocation: If the aircraft's position falls within a grid cell, it will be added to the aircraft list of that grid cell. Each grid cell will only be further subdivided into finer grid cells if it contains one or more aircraft.
[0011] Furthermore, the step 2 includes: Step 21: Implementation of the octree spatial index structure: Node definition: A node in the octree contains the spatial range and the list of grid cells stored in the current node; Indexing process: When inserting a grid cell, check whether the grid cell is within the spatial range of the current node; if so, add the grid cell to the grid cell list of the current node. If the number of grid cells exceeds MAX_CAPACITY, recursively subdivide the space to create 8 child nodes, and insert the grid cells into the corresponding child nodes according to their position; MAX_CAPACITY is a positive integer; Step 22: Grid cell insertion and spatial subdivision: Spatial division: Based on the range of longitude, latitude and altitude, each node represents a three-dimensional spatial region, which is determined by the upper and lower bounds of longitude, latitude and altitude. When inserting a new grid cell, check whether the grid cell is within the range of the current node. If so, insert the grid cell into the grid cell list of the current node. If the grid cell list of the current node is full, recursively divide the current space into 8 sub-regions and insert the grid cell into the corresponding child node. Subdivision operation: Divide the space of the current node into 8 child nodes, each of which manages a different part of the space. The child node continues to store grid cells until the threshold is reached. Step 23: Dynamic node merging: For a parent node whose number of child nodes is less than the merging threshold MAX_CAPACITY, trigger space contraction and merge its eight child nodes back to the parent node, releasing the deep space of the octree. The contraction operation and the subdivision operation are coordinated to dynamically adjust the octree depth D to [1, ]; is the maximum permissible depth; Step 24: Spatial query and intersection judgment: Spatial query: Recursively traverse the child nodes to find the grid cells that intersect with the grid; Intersection judgment: During the query process, determine whether the target grid intersects with the spatial range of the current node; compare the boundary of the target grid with the boundary of the current node to determine whether there is overlap; if there is overlap, the target grid intersects with the spatial range of the current node.
[0012] Furthermore, in step 21, each node has at most MAX_CAPACITY grid units. When the number of grid units of a node exceeds MAX_CAPACITY, the node is recursively subdivided into 8 child nodes to form a finer spatial division. In step 24, during spatial query, the system checks whether the target grid intersects with the spatial range of the current node; if so, the grid cell list of the current node is checked to find all grid cells that intersect with the target grid; if the current node is a leaf node, the grid cell is directly returned; if the current node is subdivided into child nodes, all child nodes are recursively queried.
[0013] Furthermore, the step 3 includes: Track data acquisition: Acquire the track data of each aircraft; track data includes latitude and longitude, flight altitude, and speed; Application of grid division standards: In dynamic grid division, the corresponding grid level is selected for track mapping based on the airspace area where the aircraft is located and the accuracy requirements. In areas with dense aircraft, a smaller grid level is selected for more accurate mapping, while in areas with sparse aircraft, a larger grid level is used for coarser mapping. Track mapping: The current position of each aircraft is converted into a corresponding grid unit number according to the grid division rules; the aircraft coordinates are mapped to the corresponding grid unit through longitude and latitude; the aircraft altitude is mapped to the corresponding grid level according to the set grid altitude range.
[0014] Further, the step 4 comprises; Step 41: Task Division and Parallel Computing: The task is divided into two parts: intra-grid collision detection and inter-grid collision detection. Intra-grid collision detection: Multiple aircraft tracks within each grid cell are processed and collision detection is performed through parallel computing. Inter-grid collision detection: For each grid cell, it is also necessary to check whether there is a potential collision between the aircraft in the cell and the adjacent grid cells. Step 42: Task execution and splitting: Conflict detection within a grid: For each grid cell, if the grid cell contains multiple aircraft tracks, a new task is created to perform conflict detection within the grid cell; Conflict detection between adjacent grids: For each grid cell, the system queries the adjacent grids of the grid cell through the octree; For adjacent grid cells, a new task is created to perform conflict detection between the grid cell and the adjacent grid cell; Parallel execution of tasks: After adding each conflict detection task to the task list, all tasks are executed in parallel; Parallel computing model: The RecursiveAction model enables tasks to be recursively split into multiple subtasks, each of which is responsible for processing data within the grid or data between the grid and the adjacent grids; Step 43: Parallel computing and performance optimization: By splitting the conflict detection task into smaller subtasks and running them in multiple threads in parallel, the conflict detection tasks within the grid unit and between adjacent grids are executed in parallel; Task splitting granularity: Split the task granularity so that the workload of each subtask meets the requirements; when the number of tracks processed by a single subtask is lower than the threshold, it is no longer split and is directly serialized; Processing pool and parallelism control: Configure the thread pool size to avoid system resource occupation and context switching overhead caused by too many threads.
[0015] Due to the adoption of the above-mentioned technical solution, the present application has the following advantages: the present application improves the system's processing capability and response speed for high-density track data, and increases the system throughput to support concurrent detection of ≥2000 tracks; after the number of aircraft reaches one thousand, the single-cycle detection time is reduced from seconds to milliseconds. The present application achieves improved efficiency and shortened response time for flight conflict detection in high-density airspace through dynamic granularity control of grid division, octree space optimization, track mapping accuracy improvement, and parallel computing task decomposition, significantly enhancing the real-time and reliability of the air traffic control system. After the method of the fundamental application is implemented, the single-cycle conflict detection time for thousands of aircraft can be reduced from seconds to milliseconds. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0017] Figure 1 A schematic diagram of multi-level grid division according to an embodiment of the present application; Figure 2 This is a diagram of the three-dimensional octree index structure of an embodiment of the present application; Figure 3 This is a schematic diagram of aircraft track mapping in an embodiment of the present application; Figure 4 Schematic diagram of the parallel computing process of an embodiment of the present application. DETAILED DESCRIPTION
[0018] The present application is further described with reference to the accompanying drawings and embodiments. The embodiments described are only a part of the embodiments of the present application, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field should fall within the scope of protection of the embodiments of the present application.
[0019] See also Figure 1 , the present application provides an embodiment of a real-time flight conflict detection method based on digital gridding, which includes the following steps: S1. Spatial grid division: Load the set airspace parameters, determine the latitude and longitude range of the airspace based on the airspace parameters, and calculate the appropriate grid division granularity. The system adopts a hierarchical grid design, initially generating a first-level grid, and further refining it to generate multiple sub-grids in areas with dense aircraft. Each grid cell has a unique ID and is assigned a track based on the aircraft's geographic location. Figure 1 The figure shows how the airspace is divided into multiple grid cells at multiple levels of granularity. Airspace parameters include minimum height, maximum height, and radius. The main process of airspace grid division is as follows: 1) Initialization of grid division: When the system needs to perform grid-based flight conflict detection, it first loads the set airspace parameters and determines the grid division method based on these airspaces. The specific steps are as follows: Get airspace parameters: Set airspace parameters, including minimum height, maximum height, maximum radius, etc. This provides a basis for subsequent meshing.
[0020] Calculating the longitude and latitude range: Based on the airspace's center coordinates (longitude and latitude) and radius, a formula is used to calculate the airspace's longitude and latitude range. This defines the airspace's coverage on the 2D screen. Specifically, the calculation of the longitude and latitude ranges depends on the Earth's radius and the actual distance corresponding to each degree of latitude and longitude.
[0021] Determine the granularity of the grid division: Determine the appropriate grid granularity (i.e., the size of the grid cell) based on the size of the airspace. Larger grids are suitable for scenarios with a large airspace and a small number of aircraft, while smaller grids are suitable for scenarios with a large number of aircraft or a small airspace.
[0022] 2) Meshing process: First-level grid generation: Based on the calculated latitude, longitude, and altitude ranges, the system generates the first-level grid cells. The system has defined seven levels of grid cell scales according to the Beidou grid standard. When the span of the airspace in the longitude or latitude direction is x, the starting level is determined by the following method: According to the Beidou grid standard, the preset array x={k1, k2, k3, k4, k5, k6, k7} corresponds to the latitude and longitude span thresholds of each level of grid. According to the maximum span x of the airspace in the longitude and latitude directions, find the first one that meets x. If the index i of (ki, ki+1) is set, the initial grid level is set to i+1. Where ki is the lower bound corresponding to the i-th level, and ki+1 is the upper bound; x={k1, k2, k3, k4, k5, k6, k7} can be {445.28, 222.64, 111.32, 55.56, 27.78, 9.27, 1.85}; If x is less than the minimum threshold, the seventh level is selected; if it exceeds the maximum threshold, it falls back to the next level. This method eliminates the need to refine from the coarsest layer and can locate the starting grid level that matches the spatial scale in one click, improving initialization efficiency.
[0023] Finer-Grained Grid Generation: After the first grid layer is generated, the system creates a finer-grained grid based on the positions of the aircraft. This is done by subdividing the current grid to create a finer grid. Each finer-grained grid cell further distributes aircraft within the area. For example, if a large grid cell contains multiple aircraft, the system will further subdivide the grid cell and redistribute these aircraft into finer subgrids based on their positions.
[0024] Grid subdivision strategy: The granularity of grid subdivision depends on the grid level. Different granularities are used for different grid levels (for example, the granularity of the first-level grid is larger, while the granularity of the sixth-level grid is smaller). The size of each grid (such as the step size of latitude, longitude, and altitude) is determined according to the Beidou grid standard.
[0025] Generation of grid cell ID: Each grid cell has a unique ID, which is composed of the grid level, latitude and longitude index, and altitude index.
[0026] 3) Assigning aircraft to grids: Once the basic grid structure is generated, the system assigns aircraft to corresponding grid cells based on their geographic location. Each aircraft's latitude, longitude, and altitude information are compared with the grid cell boundaries to determine whether the aircraft is located within that grid cell.
[0027] Grid Cell Definition: The spatial extent of each grid cell is determined by its minimum and maximum latitude, longitude, and altitude values. The aircraft's position is used to determine whether it falls within a grid cell.
[0028] Aircraft Allocation: If an aircraft's position falls within a grid cell, it is added to the aircraft list for that grid cell. Each grid cell is further subdivided into finer grid cells only if it contains one or more aircraft.
[0029] S2. Octree space optimization: The octree structure is used to manage the three-dimensional space. Nodes are divided according to the spatial range, and each node stores a certain number of grid units. When the node capacity exceeds the threshold, it is automatically subdivided into 8 child nodes to achieve recursive partitioning of the space. Through spatial intersection judgment, fast grid query and insertion are achieved, and the spatial performance of conflict detection is optimized. Figure 2 As shown in the figure, it shows how the space is hierarchically subdivided to optimize query efficiency. The octree space optimization process is as follows: 1) Implementation of octree spatial index structure: Node Definition: An octree node contains the spatial extent (latitude, longitude, and altitude) and the list of grid cells stored in the current node. Each node has a maximum of MAX_CAPACITY grid cells. When the number of grid cells in a node exceeds this limit, the node is recursively subdivided into 8 child nodes to form a finer spatial division. MAX_CAPACITY is a positive integer.
[0030] Indexing process: When inserting a grid cell, first check whether the grid cell is within the spatial range of the current node. If so, add the grid cell to the grid cell list of the current node. If the number of grid cells exceeds the upper limit, recursively subdivide the space to create 8 child nodes, and insert the grid cell into the appropriate child node according to the position.
[0031] 2) Grid cell insertion and spatial subdivision: Spatial Partitioning: Spatial partitioning is based on latitude, longitude, and altitude ranges. Each node represents a three-dimensional spatial region, defined by upper and lower bounds of latitude, longitude, and altitude. Whenever a new grid cell is inserted, it is checked to see if it is within the range of the current node. If so, it is inserted into the grid cell list of the current node. If the grid cell list of the current node is full, the current space is recursively partitioned into eight sub-regions, and the grid cells are inserted into the corresponding child nodes.
[0032] Subdivision: The subdivision operation divides the space of the current node into eight child nodes, each managing a different portion of the space. These child nodes will continue to store grid cells until a threshold is reached. This allows for a finer division of the space, thereby optimizing query efficiency.
[0033] 3) Dynamic node merging: For a parent node whose number of child nodes is less than the merge threshold MAX_CAPACITY, space contraction is triggered, and its eight child nodes are merged back to the parent node, releasing the deep space of the octree to prevent over-refinement. The contraction operation and the subdivision operation are coordinated to dynamically adjust the octree depth D to [1, ]; is the maximum allowed depth.
[0034] 4) Spatial query and intersection judgment: Spatial Query: Octree queries recursively traverse child nodes, searching for cells that intersect with the grid. During a query, the system checks whether the target grid intersects the spatial extent of the current node. If so, the current node's cell list is checked to find all cells that intersect with the target grid. If the current node is a leaf node, the cell is returned directly; if the current node is subdivided into child nodes, all child nodes are recursively queried.
[0035] Intersection Check: During the query process, determine whether the target grid intersects the spatial range of the current node. By comparing the boundary of the target grid with the boundary of the current node, we determine whether there is any overlap. If there is overlap, the target grid intersects the spatial range of the current node.
[0036] The spatial intersection judgment takes into account the movement characteristics of the aircraft and sets a certain buffer zone in latitude, longitude and altitude to ensure that no detection is missed.
[0037] S3. Aircraft track mapping: The real-time latitude and longitude, altitude, speed and other parameters of the aircraft are collected and mapped to the corresponding grid cells according to its position in the airspace. The system selects the appropriate grid level according to the airspace density to achieve dynamic and accurate mapping of the track and build a grid-track mapping relationship, such as Figure 3 The aircraft track mapping process is as follows: (1) Track data acquisition: The track data of each aircraft includes dynamic parameters such as latitude and longitude, flight altitude, and speed.
[0038] (2) Application of grid division standards: In dynamic grid division, the appropriate grid level is selected for track mapping based on the airspace area where the aircraft is located and the accuracy requirements. In areas with dense aircraft, a smaller grid level is selected for more accurate mapping, while in areas with sparse aircraft, a larger grid level can be used for coarser mapping.
[0039] (3) Track Mapping: The current position (latitude, longitude, and altitude) of each aircraft is converted into a corresponding grid unit number according to the grid division rules. The aircraft coordinates are mapped to the corresponding grid unit using longitude and latitude; the aircraft altitude is mapped to the corresponding grid level according to the set grid altitude range.
[0040] (4) Mapping results: Through this mapping process, the system can accurately detect the position of the aircraft in real time and clearly display it in the grid system.
[0041] S4. Parallel computing.
[0042] Based on the Fork / Join framework and using the RecursiveAction model, the conflict detection task of each grid unit and its adjacent grids is divided into multiple subtasks for parallel processing. The system dynamically schedules tasks based on task granularity and thread pool size, optimizes thread utilization efficiency, and generates a global conflict result set through a result aggregation mechanism, thus achieving large-scale real-time flight conflict detection. Figure 4 The figure shows how the conflict detection task is split and executed concurrently. The parallel computing process is as follows: 1) Task division and parallel computing: In this step, the task is divided into two parts: Grid conflict detection: Multiple aircraft tracks within each grid cell are processed and conflict detection is performed through parallel computing; Collision detection between adjacent grids: For each grid cell, it is also necessary to check whether there is a potential collision between the aircraft in this cell and the adjacent grid cells.
[0043] 2) Task execution and splitting: Grid collision detection: For each grid cell, if the grid contains multiple aircraft tracks, a new task is created to perform collision detection within the grid.
[0044] Conflict detection between adjacent grids: For each grid cell, the system queries the adjacent grids of the grid cell through the octree; for the adjacent grid cell, a new task is created to perform conflict detection between the grid cell and the adjacent grid cell.
[0045] Execute tasks in parallel: After adding each conflict detection task to the task list, execute all tasks in parallel.
[0046] Parallel computing model: The RecursiveAction model enables tasks to be recursively split into multiple subtasks, each of which is responsible for processing data within a grid or data between a grid and adjacent grids.
[0047] 3) Parallel computing and performance optimization: Parallel computing accelerates the collision detection process by breaking it down into smaller subtasks and running them concurrently across multiple threads. By parallelizing collision detection within grid cells and between adjacent grids, the system can efficiently process large amounts of aircraft trajectory data and quickly detect potential flight conflicts.
[0048] Task Splitting Granularity: Tasks are split at a reasonable granularity, ensuring that each subtask has a moderate workload, neither too large nor too small, to ensure computational efficiency. When the number of tracks processed by a single subtask falls below a threshold, it is no longer split and is processed serially, reducing thread scheduling overhead.
[0049] Thread pool and parallelism control: Rationally configure the thread pool size to avoid system resource occupation and context switching overhead caused by too many threads.
[0050] The solution of this application can also be used in combination with other space partitioning methods (such as KD tree, R tree), or a GPU-based parallel computing framework can be used to replace the CPU multi-threading method to further improve the system throughput.
[0051] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and not to limit them. Although the present application has been described in detail with reference to the above embodiments, ordinary technicians in the relevant field should understand that the specific implementation methods of the present application can still be modified or replaced by equivalents. Any modification or equivalent replacement that does not depart from the spirit and scope of the present application should be included in the scope of protection of the claims of the present application.
Claims
1. A real-time flight conflict detection method based on digital gridding, characterized in that: include: Step 1: Airspace Gridding: Load the set airspace parameters, determine the latitude and longitude range of the airspace based on the airspace parameters, and calculate the grid granularity. The system uses a hierarchical grid design, initially generating a first-level grid. In areas with dense aircraft, the first-level grid is sequentially refined to generate multiple sub-grids. Each grid cell has a unique ID, and the aircraft is assigned a track based on its geographic location. Airspace parameters include minimum altitude, maximum altitude, and radius. Step 2: Spatial Optimization: Manage the three-dimensional space, divide nodes by spatial range, and store a specified number of grid units in each node. When the node capacity exceeds the threshold, it is automatically subdivided into multiple sub-nodes to achieve recursive partitioning of the space. Through spatial intersection judgment, grid query and insertion are realized. Step 3: Collect the real-time flight path data of the aircraft and map it to the corresponding grid cell according to its position in the airspace; the flight path data includes latitude and longitude, altitude, and speed; Step 4: Divide the conflict detection task of each grid cell and its adjacent grids into multiple subtasks for parallel processing to generate a global conflict result set, thus achieving large-scale real-time flight conflict detection.
2. The method according to claim 1, characterized in that The step 1 comprises: Step 11: Initialization of grid division: When the system needs to perform gridded flight conflict detection, the set airspace parameters are loaded and the grid division method is determined according to the airspace parameters; Step 12: Grid division process: Generate a first-level grid, divide the first-level grid into finer-grained grids, and generate grid cell numbers; Step 13: Assigning aircraft to grids: Once the basic grid structure is generated, the system assigns aircraft to corresponding grid cells based on their geographic locations. Each aircraft's latitude, longitude, and altitude information are compared with the grid cell boundaries to determine whether the aircraft is located in that grid cell.
3. The method according to claim 2, characterized in that The step 11 comprises: Step 111: Obtain airspace parameters: Set airspace parameters to provide a basis for subsequent grid division; Step 112: Calculate the latitude and longitude range: Based on the center coordinates and radius of the airspace, calculate the range of the airspace in longitude and latitude, that is, define the coverage range of the airspace on the two-dimensional screen; Step 113: Determine the granularity of the grid division: Determine the required grid division granularity, i.e., the size of the grid unit, based on the size of the airspace. Grids with larger granularity are suitable for scenarios with a larger airspace and a smaller number of aircraft, while grids with smaller granularity are suitable for scenarios with dense aircraft or a smaller airspace.
4. The method according to claim 2, characterized in that The step 12 includes: First-level grid generation: Based on the calculated latitude, longitude, and altitude ranges, the system generates the first-level grid cells. The system has defined seven levels of grid cell scales according to the Beidou grid standard. The starting level is determined based on the airspace's span (x) in longitude or latitude. Finer-grained grid generation: After the first layer of grid generation, the system will generate finer-grained grids based on the position of the aircraft. The current grid is subdivided to generate finer grids. Each finer-grained grid cell is assigned to an aircraft in the area. Grid subdivision strategy: The granularity of grid subdivision depends on the level. Different granularities are used for different grid levels. The size of each grid is determined according to the Beidou grid standard. The grid size includes the latitude, longitude, and altitude steps. Generation of grid cell ID: Each grid cell has a unique ID, which is composed of the grid level, latitude and longitude index, and altitude index.
5. The method according to claim 4, characterized in that The determining of the starting level according to the span x of the airspace in the longitude or latitude direction includes: According to the Beidou grid standard, the preset array x={k1, k2, k3, k4, k5, k6, k7} corresponds to the latitude and longitude span thresholds of each level of grid respectively; according to the maximum span x of the airspace in the longitude and latitude directions, find the first one that meets x If the index i of (ki,ki+1) is set, the initial grid level is set to i+1; where ki is the lower bound corresponding to the i-th level, and ki+1 is the upper bound; If x is less than the minimum threshold, the seventh level is selected; if it exceeds the maximum threshold, it falls back to the lower level 1. There is no need to refine from the coarsest layer, and the starting level of the grid that matches the airspace scale can be located with one click.
6. The method according to claim 2, characterized in that The step 13 includes: Definition of grid cells: The spatial extent of each grid cell is determined by its minimum and maximum latitude, longitude, and altitude values. The position of an aircraft is used to determine whether it falls within a grid cell. Aircraft allocation: If the aircraft's position falls within a grid cell, it will be added to the aircraft list of that grid cell. Each grid cell will only be further subdivided into finer grid cells if it contains one or more aircraft.
7. The method according to claim 1, characterized in that The step 2 includes: Step 21: Implementation of the octree spatial index structure: Node definition: A node in the octree contains the spatial range and the list of grid cells stored in the current node; Indexing process: When inserting a grid cell, check whether the grid cell is within the spatial range of the current node; if so, add the grid cell to the grid cell list of the current node. If the number of grid cells exceeds MAX_CAPACITY, recursively subdivide the space to create 8 child nodes, and insert the grid cells into the corresponding child nodes according to their position; MAX_CAPACITY is a positive integer; Step 22: Grid cell insertion and spatial subdivision: Spatial division: Based on the range of longitude, latitude and altitude, each node represents a three-dimensional spatial region, which is determined by the upper and lower bounds of longitude, latitude and altitude. When inserting a new grid cell, check whether the grid cell is within the range of the current node. If so, insert the grid cell into the grid cell list of the current node. If the grid cell list of the current node is full, recursively divide the current space into 8 sub-regions and insert the grid cell into the corresponding child node. Subdivision operation: Divide the space of the current node into 8 child nodes, each of which manages a different part of the space. The child node continues to store grid cells until the threshold is reached. Step 23: Dynamic node merging: For a parent node whose number of child nodes is less than the merging threshold MAX_CAPACITY, trigger space contraction and merge its eight child nodes back to the parent node, releasing the deep space of the octree. The contraction operation and the subdivision operation are coordinated to dynamically adjust the octree depth D to [1, ]; is the maximum permissible depth; Step 24: Spatial query and intersection judgment: Spatial query: Recursively traverse the child nodes to find the grid cells that intersect with the grid; Intersection judgment: During the query process, determine whether the target grid intersects with the spatial range of the current node; compare the boundary of the target grid with the boundary of the current node to determine whether there is overlap; if there is overlap, the target grid intersects with the spatial range of the current node.
8. The method according to claim 7, characterized in that In step 21, each node has at most MAX_CAPACITY grid units. When the number of grid units of a node exceeds MAX_CAPACITY, the node is recursively subdivided into 8 child nodes to form a finer spatial division. In step 24, during spatial query, the system checks whether the target grid intersects with the spatial range of the current node; if so, the grid cell list of the current node is checked to find all grid cells that intersect with the target grid; If the current node is a leaf node, the grid unit is returned directly; if the current node is subdivided into child nodes, all child nodes are queried recursively.
9. The method according to claim 1, characterized in that The step 3 comprises: Track data acquisition: Acquire the track data of each aircraft; track data includes latitude and longitude, flight altitude, and speed; Application of grid division standards: In dynamic grid division, the corresponding grid level is selected for track mapping based on the airspace area where the aircraft is located and the accuracy requirements. In areas with dense aircraft, a smaller grid level is selected for more accurate mapping, while in areas with sparse aircraft, a larger grid level is used for coarser mapping. Track mapping: The current position of each aircraft is converted into a corresponding grid unit number according to the grid division rules; the aircraft coordinates are mapped to the corresponding grid unit through longitude and latitude; the aircraft altitude is mapped to the corresponding grid level according to the set grid altitude range.
10. The method according to claim 1, characterized in that Said step 4 comprises; Step 41: Task Division and Parallel Computing: The task is divided into two parts: intra-grid collision detection and inter-grid collision detection. Intra-grid collision detection: Multiple aircraft tracks within each grid cell are processed and collision detection is performed through parallel computing. Inter-grid collision detection: For each grid cell, it is also necessary to check whether there is a potential collision between the aircraft in the cell and the adjacent grid cells. Step 42: Task execution and splitting: Grid conflict detection: For each grid cell, if the grid cell contains multiple aircraft tracks, a new task is created to perform conflict detection within the grid cell; Conflict detection between adjacent grids: For each grid cell, the system queries the adjacent grids of the grid cell through the octree; For adjacent grid cells, a new task is created to perform conflict detection between the grid cell and the adjacent grid cells. Parallel task execution: After adding each conflict detection task to the task list, all tasks are executed in parallel. Parallel computing model: The RecursiveAction model enables tasks to be recursively split into multiple subtasks, each of which is responsible for processing data within the grid or data between the grid and adjacent grids. Step 43: Parallel Computing and Performance Optimization: By splitting the conflict detection task into smaller subtasks and running them in multiple threads, the conflict detection tasks within the grid unit and between adjacent grids are parallelized. Task splitting granularity: Split the task granularity so that the workload of each subtask meets the requirements. When the number of tracks processed by a single subtask is lower than the threshold, it is no longer split and is directly serialized; Thread pool and parallelism control: Configure the thread pool size to avoid system resource occupation and context switching overhead caused by too many threads.
Citation Information
Patent Citations
A fast flight conflict detection method based on adjacent grids
CN109887341B
Unmanned aerial vehicle flight path planning method and device based on airspace grid, and electronic equipment
CN115200585A
A conflict decoupling control method for trajectory operation based on airspace grid
CN116312072B
Self-adaptive subdivision grid topological optimization method and system based on balanced quadtree
CN115525999A
Airspace complexity rasterizing evaluation method based on aircraft interaction relationship
CN115630493A
Cited By
Large-scale low-altitude flight safety dynamic calculation parallel scheduling method and device
CN121281327A
Large-scale low-altitude flight safety dynamic calculation and parallel scheduling method and device
CN121281327B
Method, system and equipment for optimizing flight path of unmanned aerial vehicle in urban high-density airspace and medium
CN121364730A