Unmanned aerial vehicle data processing method and system based on embedded combination offline map fusion
By preloading and classifying map data on the drone, optimizing data processing using quad-tree index and LRU cache, and combining ant colony algorithm for path optimization, the data processing problem of drones in offline environments and dynamic environments is solved, and more efficient navigation and task execution is achieved.
Patent Information
- Application Number
- CN202510271513.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-08
- Publication Date
- 2025-05-13
AI Technical Summary
Existing drone data processing technologies have limitations in processing offline data and dynamic environment adaptability, especially in environments where network connections are unstable, it is difficult to support the real-time and accuracy of drone missions.
The drone data processing method based on embedded combined with offline map fusion is adopted to store flight area map data by preloading and classification, data retrieval and memory management are optimized using quad-tree spatial index and LRU cache, and path optimization is performed through ant colony algorithm.
It improves the autonomous navigation capabilities of the drone in complex environments, optimizes the indexing and retrieval process of map data, improves the efficiency of response time and computing resources, and ensures high efficiency and low energy consumption of task execution.
Smart Images

Figure CN119984325A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of unmanned aerial vehicle data processing, and in particular to a method and system for processing unmanned aerial vehicle data based on embedded combined with offline map fusion. Background Art
[0002] The field of drone data processing technology involves a variety of methods and technologies for collecting, processing, analyzing and utilizing data from drone systems. This field incorporates multiple sub-fields such as image processing, real-time data stream analysis, machine learning, artificial intelligence, etc. to support the efficient operation of drones in applications such as agricultural monitoring, map creation, disaster management, security monitoring, etc.
[0003] Although existing drone data processing technologies have been widely used in many fields, they still have limitations in processing offline data and adapting to dynamic environments. Especially in remote areas or environments with unstable network connections, processing technologies that rely on real-time data streams are difficult to effectively support drone mission execution, which can easily lead to data delays or loss, affecting the real-time and accuracy of the mission. Summary of the invention
[0004] The purpose of the present invention is to solve the shortcomings of the prior art and propose a drone data processing method and system based on embedded combined with offline map fusion.
[0005] In order to achieve the above object, the present invention adopts the following technical solution, which is a drone data processing method based on embedded combined with offline map fusion, including the following steps:
[0006] Before the UAV is started, the flight area map data is preloaded and divided, and the map data is classified and stored according to the geographical area and importance to generate a plurality of regional classified map data; each of the regional classified map data is indexed and established through a quadtree spatial index structure to generate an initialization spatial index;
[0007] Using the initialized spatial index, according to the predetermined flight path of the UAV, preloading the map data around the predetermined flight path into the memory to generate preloaded map data; applying the LRU cache to manage the preloaded map data to generate an optimized map data cache;
[0008] During the UAV's flight mission, the flight path changes are monitored in real time to generate a real-time flight path record; according to the real-time flight path record, the map data storage and computing resources are dynamically adjusted to match the current flight requirements, and a dynamic resource adjustment record is generated;
[0009] In combination with the dynamic resource adjustment records and map data changes, an ant colony algorithm is used to perform path optimization, analyze the data access mode and access frequency in the current flight area, and generate path optimization analysis results.
[0010] Preferably, the steps of acquiring the regional classification map data are:
[0011] Load the flight area map data, classify the flight area map data according to the geographic coordinate data and regional priority labels, calculate the geographic center point and boundary range of each area, and obtain a preliminary classification map data table;
[0012] According to the preliminary classification map data table, the importance score of each area is calculated using the following formula:
[0013]
[0014] Among them, S i Score the importance of region i, P i is the priority of area i, A i is the area of region i, D i is the distance between the geographical center of region i and the flight starting point, E i is the boundary complexity of region i, B i is the boundary range complexity index of region i;
[0015] Based on the importance score, regional data associated with the flight mission is screened out to generate regional classification map data.
[0016] Preferably, the steps of obtaining the initialization spatial index are:
[0017] Based on the regional classification map data, the geographic boundary information of each region is parsed, the coordinates of the regional vertices and the spatial boundary range are extracted, and the geometric characteristics of the region are normalized in combination with the coordinate information of the central point of the region to generate regional spatial geometric data;
[0018] According to the regional spatial geometric data, the spatial distribution characteristics of each region are analyzed one by one, the boundaries and spatial ranges of the regions are segmented, each region is mapped to a quadtree structure node according to its geographical location, and the parent-child relationship and spatial coverage between the nodes are marked to generate quadtree node distribution data;
[0019] Based on the quadtree node distribution data, a spatial index is constructed layer by layer according to the hierarchical rules of the quadtree, and the spatial range, connection relationship and child node information of each layer of nodes are recorded in turn to generate an initialized spatial index.
[0020] Preferably, the steps of obtaining the preloaded map data are:
[0021] Based on the initialized spatial index, the scheduled flight path of the UAV is parsed, the flight path is decomposed into continuous path nodes, each path node is matched with the geographical range relationship of all areas in the initialized spatial index one by one, the number of areas covered by each path node and the boundary information of each area are analyzed, and the matching results of the path node and the index area are generated;
[0022] According to the matching results between the path nodes and the index area, the map data loading priority of each path node is calculated, and the calculation formula is:
[0023]
[0024] Among them, P k is the map data loading priority of path node k, R k is the radius of the area covered by path node k, C k is the complexity of the index area corresponding to the path node k, L k is the continuous node density of path node k in the predetermined path, D k is the distance from path node k to the center of the nearest index node, E k is the number of adjacent regions of the index region corresponding to the path node k;
[0025] Based on the map data loading priority, all path nodes are sorted, and the map data are sequentially loaded into the memory according to the sorting result to generate preloaded map data.
[0026] Preferably, the steps for obtaining the optimized map data cache are:
[0027] Initialize the LRU cache, configure the cache size, load the preloaded map data into the LRU cache, sort the data according to the access frequency and the most recent access time, and form an initial LRU cache list;
[0028] Based on the initial LRU cache list, monitoring the access pattern and frequency of preloaded map data, marking unaccessed data as removal candidates, and generating a dynamic removal candidate list;
[0029] According to the dynamic removal candidate list, the marked data is removed from the LRU cache, memory space is released, and an optimized map data cache is obtained.
[0030] Preferably, the steps of acquiring the real-time flight path record are:
[0031] Continuously track the flight path of the drone and record the position changes at each time point to generate a real-time flight path change record;
[0032] According to the real-time flight path change record, the path data of each flight is integrated, a flight path history record is constructed, the flight trajectory of the UAV is updated and stored in real time, and a real-time flight path record is generated.
[0033] Preferably, the steps of obtaining the dynamic resource adjustment record are:
[0034] Analyze the real-time flight path records, identify the usage frequency and turning points of each path, predict the next flight area, and generate a flight area demand analysis;
[0035] Based on the flight area demand analysis, the demand for computing resources and storage in each area is calculated, and the calculation formula is:
[0036]
[0037] Among them, R n represents the required resource adjustment amount, F i represents the predicted access frequency of the ith region, CE i represents the storage requirement of the data in the ith region, G i represents the current resource usage rate of the ith region, H i represents the time since the last visit, and k represents the total number of regions analyzed;
[0038] According to the resource adjustment amount, memory and processor resource allocation are adjusted to generate a dynamic resource adjustment record.
[0039] Preferably, the steps for obtaining the path optimization analysis result are:
[0040] Based on the dynamic resource adjustment records and map data changes, deploy an ant colony algorithm to perform path optimization and generate a preliminary path optimization solution;
[0041] Based on the preliminary path optimization plan, the performance of each optimized path during flight is evaluated, including path length, estimated flight time and map data loading efficiency. The path is verified through simulated flight tests to generate path optimization analysis results.
[0042] The present invention provides a drone data processing system, comprising:
[0043] The flight area map data division module loads the map data of the flight area before the UAV is started, classifies the data according to geographical areas and importance, establishes a quadtree spatial index structure for indexing, and generates an initialization spatial index;
[0044] The preloaded map data management module uses the initialized spatial index to load the map data around the scheduled flight path into the memory according to the scheduled flight path of the drone, and manages it using the LRU cache mechanism to generate an optimized map data cache;
[0045] The real-time flight path monitoring module monitors the changes in the flight path during the UAV's flight mission, records the changes and generates real-time flight path records;
[0046] Dynamic resource adjustment module, which adjusts map data storage and computing resources to match current flight requirements based on real-time flight path records and generates dynamic resource adjustment records;
[0047] The path optimization analysis module combines dynamic resource adjustment records and map data changes, uses ant colony algorithm to analyze data access patterns and access frequencies, and generates path optimization analysis results.
[0048] Compared with the prior art, the advantages and positive effects of the present invention are:
[0049] The present invention improves the autonomous navigation capability of UAVs in complex environments, especially when the network is unavailable or the signal is weak, by preloading and classifying and storing map data before the UAV flies. The introduction of quadtree spatial indexing optimizes the indexing and retrieval process of map data, speeds up the response time, and reduces the consumption of computing resources. The application of the LRU cache mechanism makes memory management more efficient, and can dynamically adjust the storage of infrequently used map data to meet the actual flight mission requirements. In addition, the ant colony algorithm is used for path optimization, and the data access mode and access frequency of the current flight area are adjusted to improve the efficiency and economy of path planning. This comprehensive application strategy not only optimizes the flight route, but also ensures high efficiency and low energy consumption of mission execution. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 It is a schematic diagram of the steps of the present invention. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0052] See also Figure 1 The present invention provides a technical solution, a method for processing drone data based on embedded combined with offline map fusion, comprising the following steps:
[0053] Before the UAV is started, the flight area map data is preloaded and divided, and the map data is classified and stored according to the geographical area and importance to generate multiple regional classified map data; the regional classified map data is indexed and established through the quadtree spatial index structure to generate an initialization spatial index;
[0054] Using the initialized spatial index, according to the scheduled flight path of the drone, preload the map data around the scheduled flight path into the memory to generate preloaded map data; apply the LRU cache to manage the preloaded map data to generate an optimized map data cache;
[0055] During the UAV's flight mission, the flight path changes are monitored in real time and real-time flight path records are generated. According to the real-time flight path records, the map data storage and computing resources are dynamically adjusted to match the current flight requirements and generate dynamic resource adjustment records.
[0056] Combined with dynamic resource adjustment records and map data changes, the ant colony algorithm is used to optimize the path, analyze the data access mode and access frequency in the current flight area, and generate path optimization analysis results.
[0057] The steps to obtain regional classification map data are as follows:
[0058] Load the flight area map data, classify the flight area map data according to the geographic coordinate data and regional priority labels, calculate the geographic center point and boundary range of each area, and obtain a preliminary classification map data table;
[0059] According to the preliminary classification map data table, calculate the importance score of each area, the calculation formula is:
[0060]
[0061] Among them, S i Score the importance of region i, P i is the priority of area i, A i is the area of region i, D i is the distance between the geographical center of region i and the flight starting point, E i is the boundary complexity of region i, B i is the boundary range complexity index of region i;
[0062] Based on the importance score, the regional data associated with the flight mission is screened out to generate regional classification map data.
[0063] Specifically, load the flight area map data, combine the acquired geographic coordinate data and regional priority labels, extract the longitude, latitude and priority labels for each record in turn, and first compare whether the longitude value is within the acceptable range, such as between -180° and 180°, and then compare whether the latitude value is between -90° and 90°, and then compare each record with the pre-established priority value range, such as the priority range of 1 to 5, and mark the entries outside the range, so as to form a preliminary data set that meets the coordinate range and has a valid priority, and then for this The coordinate data of each area in the preliminary data set is further processed, and the minimum longitude and maximum longitude, minimum latitude and maximum latitude of each area are calculated in turn, and the boundary range of the area is constructed through these values. At the same time, the coordinate data of multiple geographic points in the area are comprehensively analyzed to determine the geographic center point of the area. The longitude and longitude of each coordinate can be accumulated and averaged to obtain the longitude and latitude of the center point. Next, these center point coordinates and the corresponding boundary range are stored as area information entries and indexed by area number or name to form a classified data arrangement. Finally, all the area information that has been extracted and calculated is summarized to obtain a preliminary classified map data table.
[0064] The benefit of the formula is that it takes into account multiple values such as priority, area, distance, and boundary characteristics at the same time, comprehensively measures the degree of attention of different areas, and thus extracts key areas from multi-dimensional data.
[0065] P i The acquisition steps are to extract each of the previously recorded regional priority tags one by one. The value of each tag is in the range of 1 to 5. The specific division is based on the ground control department's judgment on the importance of the region. If the ground control log shows that a certain area is paid more attention to by the dispatcher, a larger value will be presented in the priority tag. The data in this section are all derived from the monitoring records of one consecutive year. The priority value of each area is obtained by summing the monitoring data and weighting the same geographical location.
[0066] A i The steps of obtaining A are as follows: read the longitude and latitude boundaries of each region from the map database, calculate the area of the polygon range in the region, set the unit of the area value to square kilometers, take the summed value as the area of the region, and convert the coordinates of each inflection point into a measurable polygon through the geometric operation function of the map system to obtain the area value, forming A i ;
[0067] D iThe steps of obtaining D are as follows: the straight-line distance from the flight starting point coordinates to the coordinates of the current area center point is in kilometers, and the longitude and latitude of the flight starting point and the area center point are read in turn, and the specific distance value is calculated by the spherical distance formula to form D i ;
[0068] E i The acquisition steps are to walk the vertices on the boundary of the regional polygon and record the curvature changes, then accumulate and normalize the curvature changes to get the boundary complexity value. The specific normalization method is to compare the accumulated value with the maximum possible curvature value to form a floating range between 0 and 2.
[0069] B i The steps of obtaining are: counting the deviation between the outer rectangle and the actual polygon from the same area polygon boundary information, and calculating the deviation value as a ratio to form a boundary range complexity index, the value range is defined between 0 and 2, and is obtained by weighting the maximum boundary difference and the minimum boundary difference and dividing it by the diagonal of the outer rectangle;
[0070] Calculation process:
[0071] P i =3,A i =120,D i =20,E i =1.2,B i =0.8
[0072]
[0073] S i =4.14+0.6667=4.8067
[0074] The result shows that the importance score of the area is about 4.8067, which corresponds to the score result in this step. The larger the value, the higher the attention paid to the area. When the value is greater than 3, it means that the area needs to be given priority.
[0075] Based on the importance score, the S of each region is compared. i The values are compared with the uniformly set threshold range, which can be between 3 and 7. The specific threshold range is derived from the statistical analysis of past flight missions and recorded by the ground department. The calculated S values are read one by one. i Parameters and determine whether it is greater than 3. Areas with a value greater than 3 are marked to indicate that they are highly associated with the flight mission. Then, according to the flight mission type and the existing area number, the corresponding areas are matched one by one and their distance, area and other information are retrieved. If S iIf the value exceeds 7, it will be included in the high concern catalog. This part of the area will be extracted from the main list and recorded separately to facilitate the subsequent processing. For areas between 3 and 7, they are marked as medium concern. Usually, according to the priority of the area and the task schedule, the distance and boundary complexity data recorded previously are found to integrate them into a list of related areas. Finally, in the same operation, all areas that meet the range are summarized and the item information in the list is associated and sorted to generate regional classification map data.
[0076] The steps to initialize the spatial index are:
[0077] Based on the regional classification map data, the geographic boundary information of each region is parsed, the coordinates of the regional vertices and the spatial boundary range are extracted, and the geometric characteristics of the region are normalized in combination with the coordinate information of the center point of the region to generate regional spatial geometric data;
[0078] According to the regional spatial geometry data, the spatial distribution characteristics of each region are analyzed one by one, the boundaries and spatial range of the region are segmented, and each region is mapped to a quadtree structure node according to its geographical location. At the same time, the parent-child relationship and spatial coverage between nodes are marked to generate quadtree node distribution data;
[0079] Based on the quadtree node distribution data, the spatial index is constructed layer by layer according to the hierarchical rules of the quadtree. The spatial range, connection relationship and child node information of each layer of nodes are recorded in turn to generate an initialized spatial index.
[0080] Specifically, based on the regional classification map data obtained previously, the longitude and latitude information is extracted from each record, and the center point coordinates are read to verify the corresponding geographical location. These coordinates are compared with the reference coordinate range stored internally, such as -180° to 180° for longitude and -90° to 90° for latitude. If the reference range is exceeded, it is marked as an abnormal value. Then, the vertex sets of each area are summarized in turn, and these vertices are used to record the minimum and maximum boundaries of each area and mark them in the spatial coordinate system. The completeness of the coordinate distribution is measured by calculating the geometric shapes of these boundaries. For the case where a large number of boundaries appear in some records, the pre-established The valid range of the number of boundary points is, for example, 3 to 30 vertices. Entries beyond this range are marked in the inspection phase. Then, the boundary point sets of all valid areas and the corresponding center point coordinates are normalized according to a unified coordinate scaling factor. The scaling factor can be between 1 and 1000, which is determined by the size of the geographic scene and the resolution requirements of the aircraft. The processed regional geometric characteristic data is generated in the above manner, and the entries with too low or too high values in the normalized results are checked again. If extreme values appear, the corresponding identifiers are added when recording. Finally, all the normalized coordinate sets and geometric characteristics are centralized and sorted to obtain the regional spatial geometric data.
[0081] According to the regional spatial geometry data obtained above, the coordinate distribution of each region is analyzed one by one, the spacing between adjacent vertices is checked and the spacing distribution is recorded. If the spacing exceeds the predefined range, the relevant entries are marked. The predefined range can be set between 0 meters and 1000 meters. The range is determined by considering different terrains and regional scales. For entries whose spacing meets the range, the relative positions of different boundary vertices are compared to determine whether they need to be split. The polygon is checked to see whether it contains embedded areas or whether it presents a more complex tortuous structure. The area to be split is split into multiple sub-areas according to the coordinate position, and the mapping information of the parent-child level is extracted at the same time. If multiple sub-areas overlap in coordinates, these sub-areas are merged into distribution records under the same parent node, and the parent-child relationship is organized into an index table. Next, different sub-areas are paired with their ranges in the geographic coordinate system, and the size of the coverage boundary is further indicated in combination with the center point position of the area. All child node information and parent node information are summarized into a set of quadtree node distribution data.
[0082] Based on the quadtree node distribution data, the spatial range of each node in the quadtree is read layer by layer, and the hierarchical level of the nodes is marked in order from top to bottom. Then the spatial coverage relationship between the nodes is checked. If the coverage between adjacent nodes exceeds the set percentage, for example, it exceeds 50%, the two nodes are regarded as nodes that need to be merged and recorded accordingly. The 50% value is obtained by counting the node overlap in multiple flight tests in the early stage. Then, the connection relationship of the marked nodes is compared in each layer, and the associated child nodes are followed under the corresponding parent nodes. At the same time, the node number is adjusted according to the number of nodes in each layer and the parent-child mapping relationship. At this time, if some nodes contain very few child nodes, for example, less than 2, these child nodes can be merged into the coverage of adjacent nodes, and the final node distribution is reflected in the comprehensive registration table. After completing all levels in sequence, the spatial range, parent node identifier and child node identifier of each layer of nodes are written separately when recording to form the final multi-level structure index. Finally, this set of information is integrated to generate the initialized spatial index.
[0083] The steps to obtain preloaded map data are:
[0084] Based on the initialized spatial index, the scheduled flight path of the drone is parsed and decomposed into continuous path nodes. The geographical range relationship between each path node and all areas in the initialized spatial index is matched one by one. The number of areas covered by each path node and the boundary information of each area are analyzed to generate the matching results between the path node and the index area.
[0085] According to the matching results between the path nodes and the index area, the map data loading priority of each path node is calculated. The calculation formula is:
[0086]
[0087] Among them, P k is the map data loading priority of path node k, R k is the radius of the area covered by path node k, C k is the complexity of the index area corresponding to the path node k, L k is the continuous node density of path node k in the predetermined path, D k is the distance from path node k to the center of the nearest index node, E k is the number of adjacent regions of the index region corresponding to the path node k;
[0088] Based on the map data loading priority, all path nodes are sorted, and the map data is loaded into the memory in sequence according to the sorting results to generate preloaded map data.
[0089] Specifically, based on the initialization spatial index and the pre-process data formed by the scheduled flight path of the UAV, during the execution process, the known flight path record is first read and the path is disassembled into a series of adjacent path nodes, and the distribution of these nodes in the geographic coordinate system is checked one by one. The center position of each node is extracted and its coordinate value is compared with the set reference range. For example, the longitude can be compared with the interval of -180° to 180°, and the latitude can be compared with the interval of -90° to 90°. If any coordinate exceeds the interval, the corresponding node is marked, and then the geographic coverage information corresponding to the node and each area in the initialization spatial index is further extracted for the node with normal coordinates. At this time, the number of areas covered by each node is recorded and these data are compared with the boundary coordinates of the area. If a node is found to fall within the polygon of a certain area, the distance distribution between the node and the area is counted, and nodes with a distance less than a certain threshold are set as adjacent nodes. The threshold range can be determined by averaging the distance statistics of multiple flight data, and then a specific value is selected between 2 kilometers and 5 kilometers based on the statistical results. At the same time, the corresponding area number of each qualified node is recorded. If a single node falls within the overlapping range of multiple areas, the degree of overlap is quantitatively analyzed. The quantification method can divide and merge the polygon area to obtain the ratio of the overlapping area to the area of a single area. When the ratio reaches a preset range such as 50% or above, the node is marked as possibly belonging to a complex scene. Finally, the correspondence between all nodes and areas is concentrated to obtain the matching results of path nodes and index areas.
[0090] The benefit of the formula is that it comprehensively considers node coverage, regional complexity, node continuity density, and the distance from the node to the index center and the number of adjacent areas, and can evaluate the loading priority of map data in multiple dimensions.
[0091] R k The acquisition steps are as follows: in the actual flight data of the UAV, the previously recorded path node coordinates are used as the center of the circle, and the coverage radius is obtained by measurement or positioning. The coverage radius is compared with the geographical boundary observation records provided by the ground surveying and mapping department. If the distance value of the coverage boundary is between 10 meters and 500 meters, it is registered as the effective radius. By statistically sampling the flight observations of multiple days and multiple sorties, the average value or interpolation value is selected as the final R k ;
[0092] C k The steps of obtaining are as follows: according to whether the boundary of the index area where the node falls contains multiple segments or complex polygons, the boundary tortuosity and the number of structures in the area are quantified, and a complexity value between 0 and 5 is given with reference to the distribution of buildings and obstacles in the geographic survey map, which is calculated by weighted summarization of multiple field observations and image analysis records;
[0093] Lk The acquisition steps are as follows: count all the continuous path nodes that have been split, and if the distance between adjacent nodes in each section is no more than 2 kilometers, the two are considered to be connected. In a flight path, the total number of upstream and downstream nodes of the node is counted and normalized, and the range after rounding can be between 1 and 8;
[0094] D k The acquisition steps are as follows: read the straight-line distance between the current node coordinates and the coordinates of the center position of the nearest index area. The value is obtained from the geographic distance calculation. The distance reading recorded by the odometer or positioning sensor is converted into kilometers in combination with the geographic coordinates. If an extreme value is found during statistics, its positioning record is checked;
[0095] E k The acquisition steps are as follows: integrate the number of adjacent areas around the same index area, read the parent-child relationship in the index structure and merge multiple adjacent areas for statistics, and obtain the number of adjacent areas by counting, which usually fluctuates between 1 and 10;
[0096] Calculation process:
[0097] R k =120,C k =3.1,L k =5,D k =35,E k =2
[0098]
[0099] R k ·C k ·L k =120×3.1×5=1860
[0100]
[0101] The result shows that the value 53.06 indicates that the current path node has a relatively high priority in map loading. A value exceeding 50 often indicates that the coverage radius and complexity of the node are large in multiple measurements. Subsequent processes can compare this value with the calculation results of other nodes to derive a more complete loading order.
[0102] Based on the map data loading priority obtained previously, the priority values of all path nodes are read one by one during the execution process, and sorted from the largest to the smallest. If it is found that the priority value of individual nodes is 0 or negative, the calculation is repeated to check the source of the value. Then, the required map data is loaded from the highest priority node one by one for the sorted list. When loading, it is retrieved according to the area information associated with the node. If the capacity of the retrieved map data exceeds a certain predetermined standard, such as greater than 100MB, the node is marked and counted separately. The 100MB standard is obtained by analyzing the device cache capacity and balancing after extracting multiple peak values in the storage records of the previous flight missions. When the data capacity corresponding to the node is in a small range, such as less than 10MB, it is directly read and dynamically allocated memory. Nodes between 10MB and 100MB are registered as medium size. If they exceed 100MB, they are listed as high-occupancy nodes and loaded in the available space first. Finally, after completing the loading operation of the sorted nodes in sequence, all successfully loaded path node information is summarized and matched with the flight path to generate preloaded map data.
[0103] The steps to obtain the optimized map data cache are:
[0104] Initialize the LRU cache, configure the cache size, load the preloaded map data into the LRU cache, sort the data according to the access frequency and the most recent access time, and form the initial LRU cache list;
[0105] Based on the initial LRU cache list, monitor the access pattern and frequency of preloaded map data, mark unaccessed data as removal candidates, and generate a dynamic removal candidate list;
[0106] According to the dynamic removal candidate list, the marked data is removed from the LRU cache, the memory space is released, and the optimized map data cache is obtained.
[0107] Specifically, initialize the LRU cache. During the specific execution process, first read the available memory capacity of the device and set the cache size. The cache size can be configured as a percentage of the total memory. For example, the 30% to 50% range can be compared with the peak memory usage of multiple rounds of tests. If the peak usage is often around 1GB, the cache size can be set between 300MB and 500MB. Then load the acquired preloaded map data, record the unique identifier and size of each data entry, and compare them according to the access frequency and the most recent access time. When the average access frequency within a monitoring period is high, for example, the average number of accesses exceeds 2 If a piece of data has been accessed 0 times or its most recent access time is within 30 seconds, it will be regarded as active data and arranged at the front of the cache list. If the number of accesses to a piece of data is less than a threshold, such as 3 times or its most recent access time is more than 10 minutes, it will be placed at the back of the list. The threshold range is obtained by counting the access habits of different types of map data. When the average access interval is too long, its priority is lowered and marked accordingly in the cache list. The data with extremely large intervals in the access records are checked, the corresponding identifiers and access interval values are recorded, and these data are classified into inactive groups. Finally, all loaded data entries are integrated to obtain the initial LRU cache list.
[0108] Based on the initial LRU cache list, the access trend of the preloaded map data is continuously monitored during the execution process. First, each access record in the access log is compared with the cache list, the timestamp of each data being read is recorded, and the activity is calculated based on the access interval. If the activity is lower than a specific threshold, such as 0.1, it is marked as a potential removal object. The 0.1 value is obtained through centralized statistics of hundreds of flight test data, and is dynamically adjusted in combination with the access cycle of the flight mission. Entries exceeding the threshold are removed from the mark. If new data is detected to be added to the cache and the cache capacity begins to approach the upper limit, the inactive entries are retrieved again to see if their access frequency is less than 1 time or whether the most recent access interval exceeds the pre-defined long-term range. The long-term range can be set to 20 minutes to 1 hour. The specific value is derived from the analysis of the average duration of continuous flight of the drone. When entries that meet the above conditions are found, they are uniformly summarized into the cleanable data group. All data identifiers that meet the removal conditions are summarized and a dynamic removal candidate list is generated.
[0109] According to the dynamic removal candidate list, during the execution process, the marked data identifier is first read from it and compared with the current usage of the cache. If the candidate entry has occupied a large space in the cache and there is no new access record, it will be directly removed to release the corresponding space. Before the space is released, check whether there is any change record of the entry in the past period of time. If there is no such change, it is confirmed that it can be safely removed. If the candidate entry occupies a small capacity, such as less than 10MB, it is determined whether to remove it together with the current cache usage rate. The usage rate is collected from the real-time memory status when the device is running. If the overall cache usage rate exceeds 80%, it is regarded as a tense state and these entries are removed together. When removing, the data identifier is recorded in the cleanup record. Finally, the remaining cache occupancy information after all current removal actions is summarized and updated to the monitoring panel for subsequent viewing, thereby obtaining a list of cache data after the space is released and forming an optimized map data cache.
[0110] The steps to obtain real-time flight path records are:
[0111] Continuously track the flight path of the drone and record the position changes at each time point to generate a real-time flight path change record;
[0112] According to the real-time flight path change records, the path data of each flight is integrated to build a flight path history record, update and store the flight trajectory of the drone in real time, and generate a real-time flight path record.
[0113] Specifically, the flight path of the drone is tracked continuously, and the location information of each moment is collected in chronological order during the execution process. The recording frequency can be set to collect once per second before the flight begins. If the drone flies for a long time, the recording frequency can be lowered to once every five seconds. At the same time, the longitude and latitude are obtained by referring to the positioning device installed on the aircraft. These data are compared with the pre-established effective range, for example, the longitude is taken from -180° to 180°, and the latitude is taken from -90° to 90°. When it is detected that the longitude and latitude values of a certain record deviate from the interval, a deviation mark is added to the record and a separate check is performed later. For records whose longitude and latitude are within the normal range, the real-time altitude, speed and other information are continued to be extracted and summarized at the corresponding time point. If the altitude is found to exceed the set upper limit during the monitoring process, for example, 2000 meters, it will be As high-altitude flight records, they are included in a separate list for tracking. The upper limit is derived from the smooth flight judgment results of multiple flight tests and is configured in combination with regional airspace approval permits. During execution, the position is updated in combination with the speed segment information, and entries that exceed the set speed threshold are marked as high-speed flights. The threshold can be determined between 50 kilometers per hour and 100 kilometers per hour based on the type of drone. All normal data and annotation information are arranged on the same timeline, and the basic flight trajectory data is constructed by continuously collecting the change data of these time points and corresponding positions from takeoff to landing. The comparison of the altitude and speed values that appear in the middle with the reference threshold is attached to the corresponding time point. For the moment when the positioning is temporarily lost, a placeholder is reserved for subsequent processing. Finally, all records are sorted and summarized in chronological order to generate real-time flight path change records.
[0114] According to the real-time flight path change records, the path data obtained from each flight is spliced during the execution process. If it is found that the start and end time of a flight partially overlaps with another flight, the timestamps of the two are compared and arranged in order. When the timestamp difference is less than 2 seconds, it is regarded as a continuous segment. Then, the longitude and latitude span of each path is calculated according to the position coordinates, and the segments with too large or too small spans are additionally marked internally. Specific reference values can be set between 200 meters and 500 meters according to the geographical environment and drone model to determine whether an abnormal span occurs. At the same time, changes in altitude and speed are recorded, and these changes are compared with the flight data of the same model in the historical records. If the value deviates from the normal range, it is marked on that path. Interference or errors may occur. The conventional range can be summarized under the gradient of 1 meter to 1000 meters in combination with the collected multiple flight segment data. After all path segments are connected and marked in sequence, each complete flight path is compared with the previous flight operation list. If there are flight plans with the same name, they will be merged and the corresponding execution date will be indicated in the remarks. In this way, the position connection of the same UAV in multiple flights is continuously updated, and a flight path history record is compiled. Finally, the newly added path segments are incrementally updated with the existing records, and the previous blank positions are registered in real time and covered. After the paths at all time points are recorded, the complete UAV flight trajectory is summarized to generate a real-time flight path record.
[0115] The steps to obtain dynamic resource adjustment records are as follows:
[0116] Analyze real-time flight path records, identify the frequency of use and turning points of each path, predict the next flight area, and generate flight area demand analysis;
[0117] Based on the flight area demand analysis, the demand for computing resources and storage in each area is calculated using the following formula:
[0118]
[0119] Among them, R n represents the required resource adjustment amount, F i represents the predicted access frequency of the ith region, CE i represents the storage requirement of the data in the ith region, G i represents the current resource usage rate of the ith region, H i represents the time since the last visit, and k represents the total number of regions analyzed;
[0120] According to the resource adjustment amount, the resource allocation of memory and processor is adjusted, and a dynamic resource adjustment record is generated.
[0121] Specifically, the real-time flight path records are analyzed, and the relationship between the flight time and spatial position of each path is retrieved in turn during the execution process. Each path is first split according to the previously recorded flight path time sequence, and the usage frequency of the split small paths is read one by one and the number of occurrences of turning points is counted. The usage frequency is compared with the reference range of previous flights. For example, an interval between 0 and 50 times is pre-set as the effective range. If the usage frequency of a certain path exceeds 50 times, the path is marked as extremely active. If the usage frequency is less than 5 times, it is marked as low activity. At the same time, the distribution of turning points is detected. For example, if there are more than 3 turning points in a route with a length of 1,000 meters, it is registered as a multi-turn segment, and if there is less than 1 turning point, it is registered as a linear segment. These thresholds are determined by statistics of all previous flights. The data is summarized and then the turning point sets of all active segments are combined and analyzed. The average interval between these turning points is measured and a list of location parameters is generated. The longitude and latitude corresponding to each turning point are recorded in the list and combined with the speed distribution of the drone to infer the next possible direction. If the speed is between 20 kilometers and 60 kilometers per hour, it is considered to be a regular speed range. If it is greater than 60 kilometers per hour, it is marked as a high-speed. The turning positions at high and low speeds are distinguished and counted, and the possible flight area for the next step is determined in combination with the geographical area and road distribution information. The locations near the most frequently occurring turning points are included in the key analysis scope and a list of flight areas is formed. Finally, all sections with higher usage frequency are integrated and compared with the turning point set to summarize the flight area demand analysis.
[0122] The formula is useful in that it takes into account the access frequency, storage capacity, resource utilization, and access interval of multiple regions, thereby quantifying the resource adjustment amount in multi-source data.
[0123] F i The steps of obtaining are to use the visit statistics of each area in the flight path history record, take the average of the number of multiple visits to the same area, and make corrections based on the additional visits under different environments to obtain the predicted visit frequency, which is usually between 1 and 20;
[0124] CE i The acquisition steps are as follows: record the size of each area map data respectively, and calculate the storage requirement by combining the image texture information and elevation data. The unit can be set to MB, and the total value is accumulated after accumulating multiple batches of map data, and then weighted according to the size of the area boundary. The general range is 10MB to 500MB;
[0125] G iThe acquisition steps are as follows: by counting the computing resources and bandwidth resources currently occupied by the area in thread monitoring and converting them into percentages. If an area is frequently loaded and processed in a short period of time, its resource utilization rate is higher, and the statistical value fluctuates between 0.1 and 0.9;
[0126] H i The acquisition steps are: subtract the timestamp of the last visit to the area from the current time and get the interval minutes, calibrate it through multiple rounds of flight mission records, and then normalize the minutes to between 0 and 10. If it exceeds 600 minutes, it can be counted as 10;
[0127] Calculation process:
[0128] Let k = 3 to indicate that the total number of regions analyzed is 3, and take:
[0129] F 1 =6,CE 1 =120,G 1 =0.6,H 1 =4
[0130] F 2 =10,CE 2 =300,G 2 =0.7,H 2 =2
[0131] F 3 =3,CE 3 =80,G 3 =0.5,H 3 =7
[0132] First calculate each term:
[0133]
[0134] Then calculate the corresponding
[0135]
[0136] Then multiply each term individually:
[0137] 1200×0.2=240
[0138] 4285.71×0.3333≈1428.57
[0139] 480×0.125=60
[0140] Add up the above results:
[0141] 240+1428.57+60=1728.57
[0142] From this we get: R n ≈1728.57;
[0143] The results show that the total resource adjustment of the three regions currently analyzed is about 1728.57. n If the value is greater than 1000, it indicates that the batch of areas has a higher demand for memory or processor resources, and more processing threads and memory space can be configured preferentially. If the value is less than 500, it means that the resource demand is relatively low.
[0144] According to the resource adjustment amount, during the execution process, the currently available computing resource idle amount and the remaining storage capacity are compared in turn from the integrated memory and processor status records. If it is found that the resource idle amount is insufficient and there is currently regional data occupying a large resource utilization rate, the occupancy of this part of the data will be rearranged, and the usage time and access concentration of these areas will be counted. For example, a threshold is set in the range of 0.3 to 0.5 to determine whether the occupancy rate is too high. If it exceeds 0.5, it will be marked. When the cumulative number of marked data entries exceeds the specified range, such as 3, the resource migration strategy is initiated to move relatively infrequently accessed entries from the main processing area and release some bandwidth or memory. For areas with high demand, their allocation priority is increased to ensure timely response during the next access. The real-time updated memory occupancy status is recorded and a detailed list of this round of resource allocation is listed. Finally, the new resource status is summarized to obtain a dynamic resource adjustment record.
[0145] The steps to obtain the path optimization analysis results are as follows:
[0146] Based on dynamic resource adjustment records and map data changes, deploy ant colony algorithm for path optimization and generate preliminary path optimization solutions;
[0147] Based on the preliminary path optimization plan, the performance of each optimized path during flight is evaluated, including path length, estimated flight time and map data loading efficiency. The path is verified through simulated flight tests and the path optimization analysis results are generated.
[0148] Specifically, based on the dynamic resource adjustment records and map data changes, during the execution process, the current resource allocation status of each area is first read from the previously obtained records, and then the node information of the ant colony algorithm is initialized according to the regional coordinate distribution and geographical condition list, and the passable direction and adjacent node distance are defined for each node in turn. The basic length of each route in the path and the corresponding map data loading amount are summarized, and the initial value of the pheromone is set to refer to the usage frequency obtained previously when the algorithm is running. If the usage frequency of a certain section is between 1 and 10 times, its pheromone is marked as ordinary level, and if it is greater than 10 times, it is regarded as a high frequency segment, and the initial amount of pheromone is increased accordingly. When the ants are routing in the network, When selecting a path, the contribution of each path is accumulated according to the set number of iterations, and the pheromone is updated. If the map data volume of a certain route exceeds a certain predetermined standard, such as 500MB, a weight factor is added in the update to additionally mark it. The 500MB value is set after selecting the peak value from multiple flight statistics. If multiple paths meet the situation of pheromone surge or relatively short distance, the pheromone concentration is compared according to the existing threshold range. When the pheromone concentration is greater than a certain customized threshold, such as 0.5, it is given high priority. After repeated iterations, the pheromone value and distance cost corresponding to each path are retained, and these results are comprehensively sorted to obtain a preliminary path optimization plan.
[0149] According to the preliminary path optimization plan, during the execution process, the node sequence of each optimized path is read step by step according to the established flight plan, the total length of each path is counted and the length distribution of each segment is recorded, and the segments with a length of more than 2 kilometers are aggregated for subsequent comparison. The 2-kilometer value is determined by combining the geographical measurement range with the UAV's endurance. Then, the previously counted flight time data is called and combined with the number of turns in the path. If the number of turns is between 1 and 5, it is classified as a medium turn, and if it is greater than 5, it is a multiple turn. The average speed of the turning section is multiplied by the section distance and accumulated in sequence to obtain the estimated flight time. Then, the data loading efficiency called for each path is numbered. If the loading efficiency is If it is lower than 30%, it is marked as a slow segment, if it is between 30% and 80%, it is marked as a normal segment, and if it is higher than 80%, it is regarded as a high-efficiency segment. These numerical thresholds are derived from the statistics of loading rates of multiple flight missions. In the simulated flight test, the actual loading time of each path is checked point by point and the results are recorded. If the map loading timeout or the efficiency deviates from the interval, the path will be thoroughly checked and the time and loading comparison results in the simulated flight will be recorded. After all sections have completed the test, the records of path length, estimated flight time and data loading efficiency are integrated into a comparison table. The best route is selected through the comparison table, and finally the path optimization analysis results are obtained after evaluating the performance of all paths.
[0150] The present invention provides a drone data processing system, comprising:
[0151] The flight area map data division module loads the map data of the flight area before the UAV is started, classifies the data according to geographical areas and importance, establishes a quadtree spatial index structure for indexing, and generates an initialization spatial index;
[0152] The preloaded map data management module uses the initialized spatial index to load the map data around the scheduled flight path into the memory according to the scheduled flight path of the drone, and manages it using the LRU cache mechanism to generate an optimized map data cache;
[0153] The real-time flight path monitoring module monitors the changes in the flight path during the UAV's flight mission, records the changes and generates real-time flight path records;
[0154] Dynamic resource adjustment module, which adjusts map data storage and computing resources to match current flight requirements based on real-time flight path records and generates dynamic resource adjustment records;
[0155] The path optimization analysis module combines dynamic resource adjustment records and map data changes, uses ant colony algorithm to analyze data access patterns and access frequencies, and generates path optimization analysis results.
[0156] The above are only preferred embodiments of the present invention and are not intended to limit the present invention in other forms. Any technician familiar with the profession may use the technical contents disclosed above to change or modify them into equivalent embodiments with equivalent changes and apply them to other fields. However, any simple modification, equivalent change and modification made to the above embodiments based on the technical essence of the present invention without departing from the technical solution of the present invention still falls within the protection scope of the technical solution of the present invention.
Claims
1. The method for processing UAV data based on embedded combined with offline map fusion is characterized by: The following steps are involved: Before the UAV is started, the flight area map data is preloaded and divided, and the map data is classified and stored according to the geographical area and importance to generate a plurality of regional classified map data; each of the regional classified map data is indexed and established through a quadtree spatial index structure to generate an initialization spatial index; Using the initialized spatial index, according to the predetermined flight path of the UAV, preloading the map data around the predetermined flight path into the memory to generate preloaded map data; applying the LRU cache to manage the preloaded map data to generate an optimized map data cache; During the UAV's flight mission, the flight path changes are monitored in real time to generate a real-time flight path record; according to the real-time flight path record, the map data storage and computing resources are dynamically adjusted to match the current flight requirements, and a dynamic resource adjustment record is generated; In combination with the dynamic resource adjustment records and map data changes, an ant colony algorithm is used to perform path optimization, analyze the data access mode and access frequency in the current flight area, and generate path optimization analysis results.
2. The method for processing drone data based on embedded and offline map fusion according to claim 1 is characterized in that: The steps for obtaining the regional classification map data are as follows: Load the flight area map data, classify the flight area map data according to the geographic coordinate data and regional priority labels, calculate the geographic center point and boundary range of each area, and obtain a preliminary classification map data table; According to the preliminary classification map data table, the importance score of each area is calculated using the following formula: Among them, S i Score the importance of region i, P i is the priority of area i, A i is the area of region i, D i is the distance between the geographical center of region i and the flight starting point, E i is the boundary complexity of region i, B i is the boundary range complexity index of region i; Based on the importance score, regional data associated with the flight mission is screened out to generate regional classification map data.
3. The method for processing drone data based on embedded and offline map fusion according to claim 1 is characterized in that: The steps for obtaining the initialization spatial index are: Based on the regional classification map data, the geographic boundary information of each region is parsed, the coordinates of the regional vertices and the spatial boundary range are extracted, and the geometric characteristics of the region are normalized in combination with the coordinate information of the central point of the region to generate regional spatial geometric data; According to the regional spatial geometric data, the spatial distribution characteristics of each region are analyzed one by one, the boundaries and spatial ranges of the regions are segmented, each region is mapped to a quadtree structure node according to its geographical location, and the parent-child relationship and spatial coverage between the nodes are marked to generate quadtree node distribution data; Based on the quadtree node distribution data, a spatial index is constructed layer by layer according to the hierarchical rules of the quadtree, and the spatial range, connection relationship and child node information of each layer of nodes are recorded in turn to generate an initialized spatial index.
4. The method for processing drone data based on embedded and offline map fusion according to claim 1 is characterized in that: The steps for obtaining the preloaded map data are as follows: Based on the initialized spatial index, the scheduled flight path of the UAV is parsed, the flight path is decomposed into continuous path nodes, each path node is matched with the geographical range relationship of all areas in the initialized spatial index one by one, the number of areas covered by each path node and the boundary information of each area are analyzed, and the matching results of the path node and the index area are generated; According to the matching results between the path nodes and the index area, the map data loading priority of each path node is calculated, and the calculation formula is: Among them, P k is the map data loading priority of path node k, R k is the radius of the area covered by path node k, C k is the complexity of the index area corresponding to the path node k, L k is the continuous node density of path node k in the predetermined path, D k is the distance from path node k to the center of the nearest index node, E k is the number of adjacent regions of the index region corresponding to the path node k; Based on the map data loading priority, all path nodes are sorted, and the map data are sequentially loaded into the memory according to the sorting result to generate preloaded map data.
5. The method for processing drone data based on embedded and offline map fusion according to claim 1 is characterized in that: The steps for obtaining the optimized map data cache are: Initialize the LRU cache, configure the cache size, load the preloaded map data into the LRU cache, sort the data according to the access frequency and the most recent access time, and form an initial LRU cache list; Based on the initial LRU cache list, monitoring the access pattern and frequency of preloaded map data, marking unaccessed data as removal candidates, and generating a dynamic removal candidate list; According to the dynamic removal candidate list, the marked data is removed from the LRU cache, memory space is released, and an optimized map data cache is obtained.
6. The method for processing drone data based on embedded and offline map fusion according to claim 1 is characterized in that: The steps of obtaining the real-time flight path record are: Continuously track the flight path of the drone and record the position changes at each time point to generate a real-time flight path change record; According to the real-time flight path change record, the path data of each flight is integrated, a flight path history record is constructed, the flight trajectory of the UAV is updated and stored in real time, and a real-time flight path record is generated.
7. The method for processing drone data based on embedded and offline map fusion according to claim 1 is characterized in that: The steps for obtaining the dynamic resource adjustment record are: Analyze the real-time flight path records, identify the usage frequency and turning points of each path, predict the next flight area, and generate a flight area demand analysis; Based on the flight area demand analysis, the demand for computing resources and storage in each area is calculated, and the calculation formula is: Among them, R n represents the required resource adjustment amount, F i represents the predicted access frequency of the ith region, CE i represents the storage requirement of the data in the ith region, G i represents the current resource usage rate of the ith region, H i represents the time since the last visit, and k represents the total number of regions analyzed; According to the resource adjustment amount, memory and processor resource allocation are adjusted to generate a dynamic resource adjustment record.
8. The method for processing drone data based on embedded and offline map fusion according to claim 1 is characterized in that: The steps for obtaining the path optimization analysis results are as follows: Based on the dynamic resource adjustment records and map data changes, deploy an ant colony algorithm to perform path optimization and generate a preliminary path optimization solution; Based on the preliminary path optimization plan, the performance of each optimized path during flight is evaluated, including path length, estimated flight time and map data loading efficiency. The path is verified through simulated flight tests to generate path optimization analysis results.
9. The drone data processing system according to any one of claims 1 to 8, characterized in that: include: The flight area map data division module loads the map data of the flight area before the UAV is started, classifies the data according to geographical areas and importance, establishes a quadtree spatial index structure for indexing, and generates an initialization spatial index; The preloaded map data management module uses the initialized spatial index to load the map data around the scheduled flight path into the memory according to the scheduled flight path of the drone, and manages it using the LRU cache mechanism to generate an optimized map data cache; The real-time flight path monitoring module monitors the changes in the flight path during the UAV's flight mission, records the changes and generates real-time flight path records; Dynamic resource adjustment module, which adjusts map data storage and computing resources to match current flight requirements based on real-time flight path records and generates dynamic resource adjustment records; The path optimization analysis module combines dynamic resource adjustment records and map data changes, uses ant colony algorithm to analyze data access patterns and access frequencies, and generates path optimization analysis results.
Citation Information
Cited By
National regional geological mapping data organization and retrieval method and system
CN121071008A
A method and system for organizing and retrieving national regional geological mapping data
CN121071008B
Intelligent management and control method and device for centralized-scheduling unmanned aircrafts, and medium
CN121459646A