Clustering method and device of unmanned aerial vehicle, electronic equipment and computer program product
By obtaining drone track information and time and space distance and clustering with preset conditions, the problem of inaccurate clustering of drones is solved, and accurate clustering and high-quality communication of drones are achieved.
Patent Information
- Application Number
- CN202510819851.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-18
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2045-06-18
AI Technical Summary
The existing technology has inaccurate problems in the drone clustering method, especially in the case of uncertain number of drones, different flight altitudes and speeds, and cutting into drones, the existing clustering method cannot effectively track drones, resulting in a decline in communication quality.
By obtaining the track information of the drone, calculating the time and space distance between the drones, and clustering them in combination with the preset minimum number of neighborhood points and reachable boundaries, forming a drone cluster to ensure that the time and space distance of the drone in each cluster is within the preset range and is covered by base station beams.
Accurate clustering of drones is achieved, ensuring that drones in each drone cluster can be effectively covered, improving communication rate and stability, reducing communication conflicts, and optimizing resource allocation.
Smart Images

Figure CN120358570A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of low-altitude communication, and in particular, to a clustering method, device, electronic device and computer program product for unmanned aerial vehicles (UAVs). Background Art
[0002] As a new air-based network integrating UAV swarms and artificial intelligence, the collaborative efficiency and intelligence level of the airspace network directly affect the emergency response speed and resource scheduling ability.
[0003] In low-altitude communication scenarios such as UAV inspection and live broadcast, the service characteristics of continuous transmission pose high requirements on the airspace network. UAVs fly at a relatively high speed, and the traditional base station coverage mode is difficult to provide high-quality communication. The base station beam needs to track UAVs in real time to ensure high speed, continuity and stability of communication with them, and avoid service jamming or interruption caused by excessive delay. However, the number of UAVs within the airspace coverage of the base station is uncertain, the flight heights and speeds are different, and there are incoming UAVs, and the situation is relatively complex. How the airspace base station beam tracks UAVs in real time and provides a high-quality air network base is a difficult problem that operators must solve in the process of the development of the low-altitude economy.
[0004] Since the UAVs within the coverage of the airspace base station vary both in time and space, and it is necessary to ensure the handover communication of incoming UAVs, it is necessary to first cluster the UAVs in the airspace. After reasonable clustering, it is possible for the base station beam to track different UAV clusters.
[0005] However, the existing clustering methods are only limited to two-dimensional planes and are not applicable to four-dimensional scenarios where the spatial positions of UAVs vary greatly, there are differences in incoming / outgoing times, and a single cluster needs to be covered by a single base station beam, resulting in inaccurate UAV clustering.
[0006] In view of the problem of inaccurate UAV clustering in the above-mentioned existing technologies, no effective solution has been proposed yet. Summary of the Invention
[0007] Embodiments of the present invention provide a clustering method, device, electronic device and computer program product for UAVs, so as to at least solve the technical problem of inaccurate UAV clustering existing in the prior art.
[0008] According to one aspect of an embodiment of the present invention, a clustering method for unmanned aerial vehicles is provided, including: obtaining the trajectory information of each unmanned aerial vehicle within the coverage range of the same base station, where the trajectory information at least includes: the entry time when the unmanned aerial vehicle enters the coverage range, and the azimuth information of the unmanned aerial vehicle relative to the base station; determining the spatio-temporal distance between a first unmanned aerial vehicle and a plurality of second unmanned aerial vehicles according to the trajectory information, where the first unmanned aerial vehicle is any one of the unmanned aerial vehicles within the coverage range, and the second unmanned aerial vehicle is any other unmanned aerial vehicle within the coverage range except the first unmanned aerial vehicle, and the spatio-temporal distance is at least determined based on the difference between the azimuth information and the entry time between two unmanned aerial vehicles; clustering the plurality of unmanned aerial vehicles within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one unmanned aerial vehicle cluster, where the number of unmanned aerial vehicles in each unmanned aerial vehicle cluster is not less than the preset minimum neighborhood point number, and the spatio-temporal distance between any two unmanned aerial vehicles within the same unmanned aerial vehicle cluster does not exceed the preset reachable boundary.
[0009] Optionally, clustering the unmanned aerial vehicles within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one unmanned aerial vehicle cluster includes: arranging the spatio-temporal distances between the same first unmanned aerial vehicle and the plurality of second unmanned aerial vehicles in ascending order to obtain a distance queue corresponding to each first unmanned aerial vehicle; in the distance queue corresponding to each first unmanned aerial vehicle, determining the spatio-temporal distance whose arrangement order conforms to the preset minimum neighborhood point number as the core distance for clustering with the first unmanned aerial vehicle as the clustering center; determining the reachable distance of each first unmanned aerial vehicle according to the core distance of each first unmanned aerial vehicle and the spatio-temporal distances between the same unmanned aerial vehicle and the plurality of second unmanned aerial vehicles, where the reachable distance is the maximum value of the core distance and the plurality of spatio-temporal distances; determining the unmanned aerial vehicle cluster to which each first unmanned aerial vehicle belongs according to the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary.
[0010] Optionally, determining the drone cluster to which each of the first drones belongs based on the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary includes: in the case where the reachable distance exceeds the preset reachable boundary, determining that the first drone and all the second drones belong to the same drone cluster; in the case where the reachable distance does not exceed the preset reachable boundary, determining whether the core distance of the first drone exceeds the preset reachable boundary; in the case where the core distance of the first drone exceeds the preset reachable boundary, determining that the first drone is an outlier drone; in the case where the core distance of the first drone does not exceed the preset reachable boundary, establishing a target clustering cluster with the first drone as the clustering center according to the preset reachable boundary, where the target clustering cluster is the drone cluster, and the target clustering cluster includes: a plurality of the second drones whose spatio-temporal distance from the first drone is not greater than the preset reachable boundary.
[0011] Optionally, after clustering the multiple drones within the coverage range according to the preset minimum neighborhood points and the preset reachable boundary to obtain at least one drone cluster, the method further includes: traversing all the drone clusters to determine a violation cluster in which the spatio-temporal distance between any two drones within the same drone cluster is greater than a preset spatio-temporal threshold; in the violation cluster, determining the two drones with the maximum spatio-temporal distance as the violation drones, where the violation drones include: a first violation drone and a second violation drone; respectively establishing corresponding updated clusters according to the first violation drone and the second violation drone, where the updated clusters are the drone clusters, and the updated clusters include: a first updated cluster with the first violation drone as the clustering center, and a second updated cluster with the second violation drone as the clustering center; dividing the drones within the violation cluster whose spatio-temporal distance from the violation drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violation drones.
[0012] Optionally, dividing the drones in the violation cluster whose spatio-temporal distance from the violating drone is not greater than the preset spatio-temporal threshold into the updated cluster corresponding to the violating drone includes: in the violation cluster, determining the spatio-temporal distance between each drone and the first violating drone as the first distance, and determining the spatio-temporal distance between each drone and the second violating drone as the second distance; in the case where the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is greater than the preset spatio-temporal threshold, dividing the drone into the first updated cluster; in the case where the first distance of the same drone is greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold, dividing the drone into the second updated cluster.
[0013] Optionally, the method further includes: in the case where the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold, comparing the magnitudes of the first distance and the second distance; in the case where the first distance is less than the second distance, dividing the drone into the first updated cluster; in the case where the first distance is not less than the second distance, dividing the drone into the second updated cluster.
[0014] Optionally, after clustering a plurality of drones within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster, the method further includes: determining a maintenance period for maintaining the drone cluster according to the extreme flight data of the drones within the coverage range, where the extreme flight data at least includes: the target flight speed of the drone with the fastest flight speed within the coverage range, and the target acceleration of the drone with the largest acceleration within the coverage range; detecting whether at least one drone cluster meets a preset maintenance condition according to the maintenance period, and maintaining at least one drone cluster according to a preset maintenance strategy corresponding to the preset maintenance condition, where the preset maintenance condition at least includes: a merging condition and a splitting condition, the merging condition at least includes: the Euclidean distance between the drones in two drone clusters is less than a preset distance threshold, the splitting condition at least includes: the spatio-temporal distance between two drones in the same drone cluster exceeds the preset reachable boundary, and the preset maintenance strategy includes: a merging strategy corresponding to the merging condition and a splitting strategy corresponding to the splitting condition.
[0015] According to another aspect of the embodiments of the present invention, there is also provided a clustering device for drones, including: a first acquisition module, configured to acquire the trajectory information of each drone within the coverage range of the same base station, where the trajectory information at least includes: the entry time when the drone enters the coverage range, and the azimuth information of the drone relative to the base station; a determination module, configured to determine the spatio-temporal distance between a first drone and a plurality of second drones according to the trajectory information, where the first drone is any one of the drones within the coverage range, and the second drones are other drones within the coverage range except the first drone, and the spatio-temporal distance is at least determined based on the difference between the azimuth information and the entry time between two drones; a clustering module, configured to cluster the plurality of drones within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary, to obtain at least one drone cluster, where the number of drones in each drone cluster is not less than the preset minimum neighborhood point number, and the spatio-temporal distance between any two drones in the same drone cluster does not exceed the preset reachable boundary.
[0016] According to another aspect of the embodiments of the present invention, there is also provided an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to execute the above-mentioned clustering method for drones through the computer program.
[0017] According to another aspect of the embodiments of the present invention, there is also provided a computer program product, including computer instructions, where when the computer instructions are executed by a processor, the steps of the above-mentioned clustering method for drones are implemented.
[0018] In the above embodiments of the present application, by collecting the trajectory information of drones, and calculating the spatial distance of the time difference between drones according to the entry time and azimuth information of each drone entering the coverage range of the base station, the spatio-temporal distance between drones is obtained. Then, based on this spatio-temporal distance, combined with the preset minimum neighborhood point number and preset reachable boundary set in advance, the drones are clustered to obtain at least one drone cluster. Furthermore, the base station can provide corresponding beams for each drone cluster based on the clustering result of the drones, ensuring that the beams allocated to each drone cluster can cover each drone within the drone cluster, achieving the technical effect of accurately clustering the drones, and thus solving the technical problem of inaccurate clustering of drones in the prior art. Description of the Drawings
[0019] The drawings described herein are used to provide a further understanding of the present invention, and constitute a part of this application. The illustrative embodiments of the present invention and their descriptions are used to explain the present invention, and do not constitute an improper limitation to the present invention. In the drawings:
[0020] Figure 1 It is a flowchart of a clustering method for an unmanned aerial vehicle according to an embodiment of the present invention;
[0021] Figure 2 It is a schematic diagram of the clustering result of an unmanned aerial vehicle according to an embodiment of the present invention;
[0022] Figure 3 It is a schematic diagram of a clustering device for an unmanned aerial vehicle according to an embodiment of the present invention;
[0023] Figure 4 It is a structural block diagram of a computer terminal according to an embodiment of the present invention. Detailed implementation manners
[0024] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0025] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0026] First, some nouns or terms that appear in the process of describing the embodiments of the present application are applicable to the following explanations:
[0027] Ordering Points To Identify the Clustering Structure (OPTICS): The core idea is to create an ordered list of data points while calculating two key values: core-distance and reachability-distance, which are used to describe the density of each data point and its association with neighboring points.
[0028] Application Programming Interface (API): A set of predefined rules, protocols, and tools for building software applications. It allows different software components or applications to communicate with each other and share functions without having to understand the internal workings of each other. An API can be regarded as an interface that enables developers to use existing code libraries, operating system functions, or remote services to implement specific functions or services without having to write all the code from scratch.
[0029] According to an embodiment of the present invention, an embodiment of a clustering method for unmanned aerial vehicles is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.
[0030] Figure 1 It is a flowchart of a clustering method for unmanned aerial vehicles according to an embodiment of the present invention. As Figure 1 shown, the method includes the following steps:
[0031] Step S102, obtain the trajectory information of each unmanned aerial vehicle within the coverage range of the same base station. Among them, the trajectory information at least includes: the entry time when the unmanned aerial vehicle enters the coverage range, and the azimuth information of the unmanned aerial vehicle relative to the base station;
[0032] Step S104, based on the trajectory information, determine the spatio-temporal distance between the first unmanned aerial vehicle and multiple second unmanned aerial vehicles. Among them, the first unmanned aerial vehicle is any unmanned aerial vehicle within the coverage range, and the second unmanned aerial vehicle is other unmanned aerial vehicles within the coverage range except the first unmanned aerial vehicle. The spatio-temporal distance is determined at least based on the difference between the azimuth information and the entry time between two unmanned aerial vehicles;
[0033] Step S106, cluster multiple unmanned aerial vehicles within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one unmanned aerial vehicle cluster. Among them, the number of unmanned aerial vehicles in each unmanned aerial vehicle cluster is not less than the preset minimum neighborhood point number, and the spatio-temporal distance between any two unmanned aerial vehicles within the same unmanned aerial vehicle cluster does not exceed the preset reachable boundary.
[0034] In the above embodiments of the present application, by collecting the trajectory information of the UAVs, and calculating the spatial distance of the time difference between the UAVs based on the entry time and azimuth information of each UAV entering the base station coverage area, the spatio-temporal distance between the UAVs is obtained. Then, based on this spatio-temporal distance, combined with the preset minimum neighborhood points and preset reachable boundary set in advance, the UAVs are clustered to obtain at least one UAV cluster. Furthermore, the base station can provide corresponding beams for each UAV cluster based on the clustering result of the UAVs, ensuring that the beams allocated to each UAV cluster can cover each UAV within the UAV cluster, achieving the technical effect of accurately clustering the UAVs, and thus solving the technical problem of inaccurate UAV clustering existing in the prior art.
[0035] In the above step S102, the azimuth information of the UAV relative to the base station includes: the azimuth angle and the depression angle of the UAV relative to the base station.
[0036] In the above step S102, the trajectory information that the UAV can directly provide is the position information based on the longitude and latitude coordinates, and the entry time of the UAV into the base station coverage area. Then, by performing coordinate transformation on the position information based on the longitude and latitude coordinates, the trajectory information represented by the local coordinate system with the base station as the center of the station is obtained. Furthermore, based on the trajectory information represented by this local coordinate system with the base station as the center of the station, combined with the timing of the UAV entering the coverage area, the spatio-temporal distance between any two UAVs within the coverage area can be calculated.
[0037] In the solution of the present invention, the UAV can obtain the flight route, real-time longitude and latitude, and altitude.
[0038] Optionally, let the longitude, latitude and altitude of the base station be , and there are UAVs in the covered airspace , where the th UAV's flight route trajectory is:
[0039] ;
[0040] Among them, is the longitude, latitude and altitude of the UAV; and are the times when the UAV enters and leaves the base station coverage. To determine the relative position between the UAV and the base station, the longitude, latitude and altitude coordinates of the base station and the UAV need to be converted into Earth-centered Earth-fixed coordinates, and then converted to the local coordinate system (such as the local coordinate system with the base station as the origin) with the base station as the origin.
[0041] Optionally, the local coordinate system with the base station as the center of the station is the East-North-Up (ENU) coordinate system, whose East (E) axis points east along the latitude circle, North (N) axis points north along the longitude circle, and Up (U) axis is perpendicular to the ground upward. Convert the longitude, latitude and altitude coordinates into Earth-centered Earth-fixed coordinates, and calculate the radius of curvature of the prime vertical circle (i.e., the vertical circle of the horizon) , where the longitude and latitude of the base station and the UAV need to be converted to radians.
[0042] Optionally, the calculation formula for the radius of curvature of the prime vertical is: , where is the equatorial radius, with a value of 6,378,137, , is the flattening of the ellipsoid, with a value of 1 / 298.257223563.
[0043] Optionally, calculate the Earth-Centered Earth-Fixed (ECEF) coordinates of the base station and the UAV respectively. Among them, the values of each coordinate axis in the ECEF coordinates are:
[0044] ;
[0045] ;
[0046] .
[0047] Let , , be the difference in ECEF coordinates between the UAV and the base station, is the ECEF coordinate of the UAV, is the ECEF coordinate of the base station. After constructing the base station rotation matrix and rotating the coordinate difference, the ENU coordinates (i.e., the local-level coordinate system, east-north-up) can be obtained.
[0048] Optionally, the method for converting the ECEF coordinates of the UAV and the base station to ENU coordinates is:
[0049] .
[0050] After obtaining the ENU coordinates of the UAV, the azimuth of the th UAV and the depression angle required for the base station to cover this UAV can be calculated.
[0051] It should be noted that when calculating the azimuth, the result needs to be corrected for the quadrant. Since the angle reference direction of the ordinary Cartesian coordinate system is east and the angle increases in the counterclockwise rotation, while the angle reference direction of the ENU coordinate system is north and the angle increases in the clockwise rotation, the quadrant correction method of the ordinary Cartesian coordinate system cannot be used.
[0052] As an optional embodiment, the calculation and correction process of the azimuth and the depression angle includes:
[0053] ;
[0054] 。
[0055] It should be noted that when the UAV enters the coverage area of the base station, the base station needs to provide a beam for the UAV to maintain communication; in the subsequent time, if there are still UAVs entering the coverage area of the base station, since the UAVs that have previously entered the coverage area have been allocated beams, there is no need to re-allocate beams to the UAVs that have previously entered the coverage area. Therefore, it is necessary to determine the entry time of each UAV into the coverage area. Based on the entry time of each UAV, the time difference between each UAV entering the coverage area can be determined. If the time difference between two UAVs is small, the probability that these two UAVs are allocated the same beam is relatively large. Thus, the UAVs can be clustered based on this time difference, and then the beams of the base station are allocated to each UAV cluster after clustering.
[0056] In the above step S104, the spatio-temporal distance between the first UAV and multiple second UAVs is: ; where is the first UAV; is the second UAV; , is the angular difference in the horizontal direction between the first UAV and the second UAV; , is the angular difference in the vertical direction between the first UAV and the second UAV; is the time when the first UAV i enters the coverage area of the base station, is the time when the second UAV j enters the coverage area of the base station, , is the time difference between the first UAV and the second UAV; is the horizontal wave width of the custom beam of the base station; is the horizontal tolerance of the base station beam; is the vertical wave width of the custom beam of the base station; is the vertical tolerance of the base station beam; is the time tolerance, and the influence of space and time can be ignored within the tolerance range.
[0057] The above formula constructs an anisotropic three-dimensional ellipsoid corresponding to the spatial dimension and the time dimension, and its three axes are respectively 、 and , and the UAVs can directly perceive the ability boundary of the beam coverage when clustering. When, the UAVs can be covered by a single beam in the same cluster; When, they cannot be divided into the same cluster.
[0058] In the above step S106, the preset minimum number of neighborhood points is 。
[0059] In the above step S106, the preset reachable boundary is , which is determined according to the coverage range of the beam provided by the base station.
[0060] As an alternative embodiment, clustering the UAVs within the coverage range according to the preset minimum neighborhood point number and the preset reachable boundary, to obtain at least one UAV cluster, including: arranging the spatio-temporal distances between the same first UAV and multiple second UAVs in ascending order to obtain a distance queue corresponding to each first UAV; in the distance queue corresponding to each first UAV, determining the spatio-temporal distance whose arrangement order conforms to the preset minimum neighborhood point number as the core distance for clustering with the first UAV as the clustering center; based on the core distance of each first UAV and the spatio-temporal distances between the same UAV and multiple second UAVs, determining the reachable distance of each first UAV, where the reachable distance is the maximum value among the core distance and multiple spatio-temporal distances; based on the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary, determining the UAV cluster to which each first UAV belongs.
[0061] In the above embodiments of the present application, by arranging the spatio-temporal distances between the first UAV and multiple second UAVs in ascending order, and determining the core distance of each first UAV according to the sorting result, and determining the clustering cluster with the first UAV as the clustering center, that is, the UAV cluster, and then using the preset reachable boundary to judge the UAV cluster with the first UAV as the clustering center to determine whether the beam provided by the base station can cover all the UAVs in the UAV cluster; it is also possible to further calculate the reachable distance between each second UAV and the first UAV respectively, and determine whether the first UAV and the second UAV belong to the same UAV cluster based on the reachable distance, so that when the preset reachable boundary exceeds the core distance of the first UAV, the coverage range of the UAV cluster with the first UAV as the clustering center can be further increased, so that the beam allocated to the UAV cluster can provide communication services for more UAVs, and then taking each UAV within the coverage range of the base station as the first UAV respectively, and repeating the above steps to determine the UAV cluster to which each first UAV belongs one by one, thereby realizing the clustering of multiple UAVs within the coverage range of the base station, and being able to accurately identify which UAVs in the UAV network should be grouped together and which should be regarded as outliers. The base station provides beams based on the clustering result, which not only reduces communication conflicts, but also optimizes resource allocation, ensuring the continuity and safety of UAV mission execution.
[0062] As an alternative embodiment, determining the drone cluster to which each first drone belongs based on the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary includes: in the case where the reachable distance exceeds the preset reachable boundary, determining that the first drone and all second drones belong to the same drone cluster; in the case where the reachable distance does not exceed the preset reachable boundary, determining whether the core distance of the first drone exceeds the preset reachable boundary; in the case where the core distance of the first drone exceeds the preset reachable boundary, determining that the first drone is an outlier drone; in the case where the core distance of the first drone does not exceed the preset reachable boundary, based on the preset reachable boundary, establishing a target clustering cluster with the first drone as the clustering center, where the target clustering cluster is a drone cluster, and the target clustering cluster includes: a plurality of second drones whose spatio-temporal distance from the first drone is not greater than the preset reachable boundary.
[0063] In the above embodiments of the present application, when determining the drone cluster to which a drone belongs, by comparing the relationships between the reachable distance and the core distance and the preset reachable boundary, it is possible to intelligently identify which drones should be regarded as part of the cluster and which should be regarded as outliers. For example, if the reachable distance of a drone exceeds the preset reachable boundary, then it will be grouped with all other drones into a large cluster, which may be applicable when all drones in the drone network are relatively stationary or moving slowly. On the contrary, if the core distance of a drone exceeds the preset reachable boundary, then it may be regarded as an outlier, which means that its communication with other drones may be unstable and it needs to be processed separately or added to a smaller and tighter cluster, achieving accurate clustering of drones.
[0064] As an alternative embodiment, after clustering a plurality of drones within the coverage area according to the preset minimum number of neighborhood points and the preset reachable boundary to obtain at least one drone cluster, the method further includes: traversing all the drone clusters to determine a violation cluster in which the spatio-temporal distance between any two drones within the same drone cluster is greater than the preset spatio-temporal threshold; in the violation cluster, determining the two drones with the largest spatio-temporal distance as the violation drones, where the violation drones include: a first violation drone and a second violation drone; respectively establishing corresponding updated clusters based on the first violation drone and the second violation drone, where the updated clusters are drone clusters, and the updated clusters include: a first updated cluster with the first violation drone as the clustering center, and a second updated cluster with the second violation drone as the clustering center; dividing the drones within the violation cluster whose spatio-temporal distance from the violation drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violation drones.
[0065] In the above embodiments of the present application, after the initial clustering is completed, by traversing all the drone clusters, it is checked whether there are any violation clusters that violate the preset spatio-temporal threshold, thereby ensuring that the drones within each cluster can maintain effective communication connections. If the spatio-temporal distance between two drones within a certain cluster exceeds the preset threshold, then these two drones will be regarded as violating drones and will be used as new clustering centers respectively to establish updated clusters. By updating the violation clusters, more accurate drone clusters can be obtained, realizing accurate clustering of drones.
[0066] As an alternative embodiment, dividing the drones in the violation cluster whose spatio-temporal distance from the violating drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violating drones includes: in the violation cluster, determining the spatio-temporal distance between each drone and the first violating drone as the first distance, and the spatio-temporal distance between each drone and the second violating drone as the second distance; in the case where the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is greater than the preset spatio-temporal threshold, dividing the drone into the first updated cluster; in the case where the first distance of the same drone is greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold, dividing the drone into the second updated cluster.
[0067] In the above embodiments of the present application, when dealing with the violation clusters, by comparing the spatio-temporal distances between two violating drones, the drones can be intelligently reallocated to the updated clusters, ensuring that the beams allocated to the drone cluster can cover each drone within the drone cluster, realizing accurate clustering of drones.
[0068] As an alternative embodiment, the method further includes: in the case where the first distance and the second distance of the same drone are both not greater than the preset spatio-temporal threshold, comparing the magnitudes of the first distance and the second distance; in the case where the first distance is less than the second distance, dividing the drone into the first updated cluster; in the case where the first distance is not less than the second distance, dividing the drone into the second updated cluster.
[0069] In the above embodiments of the present application, when the spatio-temporal distances between a drone and two violating drones are both less than the preset threshold, by comparing the magnitudes of these two spatio-temporal distances, the drone can be more precisely divided into a more suitable updated cluster, realizing accurate clustering of drones.
[0070] As an alternative embodiment, the method further includes: in the case where the first distance and the second distance of the same drone are both greater than the preset spatio-temporal threshold, determining the drone as a target drone; clustering all the target drones in the violation cluster according to the preset minimum neighborhood points and the preset reachable boundary to obtain at least one drone cluster.
[0071] In the above embodiments of the present application, in the case where there is a UAV in a violation cluster that cannot be assigned to the updated cluster of the violation cluster, the UAV is taken as the target UAV, and all the target UAVs in the violation cluster are clustered again to obtain a new UAV cluster, further realizing accurate clustering of UAVs.
[0072] Optionally, after clustering based on the target UAVs, there are still UAVs that cannot be assigned to the UAV cluster, or the target UAVs do not meet the clustering conditions and new UAV clusters cannot be generated. In this case, these UAVs that cannot be assigned to the UAV cluster will be regarded as outlier UAVs.
[0073] As an optional embodiment, after clustering multiple UAVs within the coverage range according to the preset minimum neighborhood points and the preset reachable boundary to obtain at least one UAV cluster, the method further includes: determining the maintenance period for maintaining the UAV cluster according to the extreme flight data of the UAVs within the coverage range, where the extreme flight data at least includes: the target flight speed of the UAV with the fastest flight speed within the coverage range, and the target acceleration of the UAV with the largest acceleration within the coverage range; detecting whether at least one UAV cluster meets the preset maintenance conditions according to the maintenance period, and maintaining at least one UAV cluster according to the preset maintenance strategy corresponding to the preset maintenance conditions, where the preset maintenance conditions at least include: a merging condition and a splitting condition, the merging condition at least includes: the Euclidean distance between the UAVs in two UAV clusters is less than the preset distance threshold, the splitting condition at least includes: the spatio-temporal distance between two UAVs in the same UAV cluster exceeds the preset reachable boundary, and the preset maintenance strategy includes: the merging strategy corresponding to the merging condition and the splitting strategy corresponding to the splitting condition.
[0074] In the above embodiments of the present application, by analyzing the extreme flight data of the UAVs, including but not limited to flight speed and acceleration, the maintenance period of the UAV cluster is determined, thereby realizing the dynamic maintenance of the UAV network. According to this maintenance period, it is judged whether each UAV cluster within the base station coverage range meets the merging condition and the splitting condition, and the UAV clusters are merged and classified according to the merging condition or splitting condition satisfied by the UAV clusters, realizing the update of the UAV clusters and ensuring the accuracy of the clustering result of the UAVs in the time dimension.
[0075] Optionally, the merging condition can be expressed as: 50%, where w and are different UAV clusters, and are the state vectors of UAV a and UAV b respectively, is the state vector threshold of the UAV.
[0076] Optionally, for the A drone, defining the state vector at time t is as follows:
[0077] ;
[0078] wherein, is the ENU coordinate; is the three-dimensional velocity component; is the three-dimensional acceleration component; is the pitch angle; is the roll angle; is the yaw angle; is the residence time at the current base station; is the residence time in the current beam. The modeling of the drone takes into account the need for real-time prediction of the future drone flight path. Since the solution of this application focuses on drones with a preset flight path, the short-term drone flight path is not predicted for the time being.
[0079] Optionally, the splitting condition can be expressed as: , wherein, is the preset reachable boundary, and p and q are two drones in the same drone cluster .
[0080] The present invention also provides an optional embodiment, which provides an airspace beam tracking method based on an ellipsoidal neighborhood to solve the problems of the original base station coverage mode in the air network, which is difficult to provide high-quality communication for drones, realizes real-time tracking of the base station beam for drones, improves the communication rate and stability, and can be extended to the ground network.
[0081] Optionally, after obtaining the drone angle information, the base station beam and the drone state are modeled. Let the SSB beams transmitted by the base station be respectively , is the state vector of the th beam transmitted by the base station at time t, which describes the spatial pointing, energy characteristics and life cycle of the beam.
[0082] ;
[0083] ;
[0084] wherein, is the mechanical azimuth angle; is the electronic azimuth angle, and the value range is the adjustable range of the electronic azimuth angle in the custom beam mode; is the mechanical downtilt angle; is the electronic downtilt angle, and the value range is the adjustable range of the electronic downtilt angle in the custom beam mode; is the horizontal beam width; is the vertical beam width; is the beam gain; is the beam activation duration.
[0085] Optionally, for the th drone, define the state vector at time t as follows:
[0086] , wherein, is the ENU coordinate; are the three-dimensional velocity components; are the three-dimensional acceleration components; is the pitch angle; is the roll angle; is the yaw angle; is the residence time at the current base station; is the residence time in the current beam. The modeling of the drone takes into account the need for real-time prediction of the future flight path of the drone. Since the solution of this application focuses on the drone with a preset flight path, the flight path of the drone in the short term is not predicted for the time being.
[0087] As an optional embodiment, for the drones within the coverage of the base station, clustering processing is required. Whether the drone is within the coverage of the base station is determined by the double coverage identification in the angular domain and the spatial domain. The existing clustering methods are only suitable for the case of a two-dimensional plane with a fixed number of points, and are not applicable to the scenario where the number of drones is uncertain, the spatio-temporal distance difference is large, and each cluster must be within the single-beam coverage of the base station. Therefore, this application improves the traditional OPTICS algorithm and proposes a four-dimensional double-clustering OPTICS algorithm based on an ellipsoidal neighborhood, realizing the spatio-temporal clustering of drones combined with the beam coverage ability of the base station. Specifically as follows:
[0088] Step S1, data processing and angle calculation. Convert the longitude, latitude and altitude coordinates into ENU coordinates, and calculate the azimuth angle of the drone and the tilt angle required for the base station to cover the drone.
[0089] Step S2, design of the three-dimensional ellipsoidal neighborhood distance metric in four-dimensional space. Calculate the horizontal angle difference between all drones , the vertical angle difference and the time difference . Considering the situation where different drones cross 0°, the horizontal angle difference is: ; the vertical angle difference is: ; the time difference is: , is the moment when UAV i enters the base station coverage area, is the moment when UAV j enters the base station coverage area.
[0090] Optionally, spatial domain and angular domain constraints are introduced into the distance metric, and at the same time, beam physical coverage limitations are added and normalized. The spatio-temporal distance between UAVs is: ; where, is the horizontal wave width of the base station's custom beam; is the horizontal tolerance of the base station beam; is the vertical wave width of the base station's custom beam; is the vertical tolerance of the base station beam; is the time tolerance, and within the tolerance range, the influence of space and time can be ignored. The above formula constructs an anisotropic three-dimensional ellipsoid corresponding to the spatial dimension and time dimension, and its three axes are respectively , and , and when clustering UAVs, the ability boundary of beam coverage can be directly perceived. When, UAVs can be covered by a single beam in the same cluster; When, they cannot be divided into the same cluster.
[0091] Optionally, for accurate clustering, each item in the formula for calculating the spatio-temporal distance between UAVs is locally normalized for its respective dimension. Different from traditional normalization for balancing the dimensions of different features, this application introduces physical constraints in the normalization process to avoid the disconnection between traditional Euclidean distance and beam coverage. By converting the angular difference into the relative horizontal / vertical wave width and local normalization of time, the beam coverage ability is mapped to the "reachable distance" in four-dimensional space, quantifying the physical coverage ability of the beam in time and space.
[0092] Step S3, Four-dimensional distance calculation. Calculate the of all UAVs, and construct a UAV four-dimensional distance matrix with the dimension of .
[0093] Step S4, Core distance calculation. Let all UAVs be core points, The th value in ascending order of each column in is the core distance
[0094] Step S5, Initialize clustering. Randomly select the initial UAV , and calculate the distance from all other UAVs to Reachable distance of a point , is the spatio-temporal distance between the UAV p and other UAVs, which is obtained from the th row data, and the result is retained in the reachable distance dictionary . Subsequently, the point is added to and will no longer participate in subsequent calculations.
[0095] Step S6, Update all UAVs. When is not empty, sort the results obtained in step S5 in ascending order, and let the UAV nearest to the previous core point be the new core point. Calculate the from other unprocessed UAVs to the point, and update the result to . Add the point to and will no longer participate in subsequent calculations. Repeat step S6 until
[0096] is empty. Step S7, Calculate the rough clustering result. Take out the UAV serial numbers in in order. If the reachable distance of the UAV is not greater than the reachable boundary , then it belongs to the current cluster; if the reachable distance of the UAV is less than the reachable boundary , then further judgment needs to be made based on the core distance of the UAV. If the core distance is greater than , then it is an outlier UAV; if the core distance of the UAV is not greater than
[0097] , then it is a new cluster. This process is the method for traditional OPTICS to obtain the clustering result, but the density reachability of UAVs is not compatible with the base station beam coverage constraint. This method cannot be directly used in the UAV clustering scenario, and it is easy to have situations such as incorrect clustering and a single cluster not being covered by a single beam. The result can only be used for reference.
[0098] Step S8, Calibrate the refined clustering result.
[0099] Optionally, to obtain an accurate clustering under the base station beam coverage constraint, calibrating the result of step S7 specifically includes: checking whether there are outlier UAVs in the rough clustering result and whether there is only one UAV in the non-zero cluster. If so, merge the non-zero cluster with the outlier UAV. If there are no outlier UAVs, set the UAV as an outlier UAV. Optionally, traverse all clusters to determine whether there are any two UAVs
[0100] Step S81, In the violation cluster, determine The two largest drones i and j are regarded as the pair of violating drones , and the violating drone is used as the splitting point of the two new clusters.
[0101] Step S82, collect or drone i as a candidate point. If there is no candidate point, the drones and are set as outlier drones.
[0102] Step S83, initialize and two sub-clusters and traverse the candidate points. If there exists a drone such that and , then determine the belonging sub-cluster according to the size of the spatio-temporal distance, and the remaining candidate points determine the belonging sub-cluster according to the ellipsoid constraint that satisfies the base station beam coverage.
[0103] Step S84, determine whether the drones not in , sub-clusters can form a cluster alone (for example, at least two drones in each cluster). If not, they are outlier drones. Repeat the above steps S81 to S84 until the cluster labels are no longer updated.
[0104] Optionally, for , according to the above steps S1 to S8, the drones within the airspace covered by the base station can be divided into clusters. Among them, the state vector of cluster at time is as follows:
[0105] ;
[0106] where, ;
[0107] ;
[0108] ;
[0109] ;
[0110] where, is the cluster center coordinate; and are the horizontal / vertical spreads of the drones within the cluster; is the average speed modulus of the drones within the cluster, indicating the overall moving speed of the drones within the cluster; is the maximum acceleration magnitude of the UAVs within the cluster, representing the acceleration of the most maneuverable UAV within the cluster, and is used to handle extreme motion scenarios; is the number of UAVs within the cluster.
[0111] It should be noted that for any UAV cluster, the following should be satisfied:
[0112] ;
[0113] Among them, and are the maximum azimuth angle and the minimum azimuth angle of the UAVs in the cluster respectively; and are the maximum downward tilt angle and the minimum downward tilt angle required for the base station to cover the UAVs in the cluster respectively.
[0114] Optionally, to increase the beam efficiency, it is calculated using the maximum beam width customized by the base station.
[0115] Optionally, to reduce the interference between beams, and are used to adjust the cluster size.
[0116] Since the flight paths of each UAV within the cluster are different and the duration of the cluster is limited, the existing cluster needs to be dynamically maintained during the UAV flight. In this application area, the UAV positions are updated at intervals of and the cluster is maintained, which is determined by the maximum allowable position error , specifically:
[0117] ;
[0118] Among them, is the fastest speed among the UAVs; is the maximum acceleration among the
[0119] Optionally, in each , when two clusters and meet the merging conditions, dynamic cluster merging is performed. Among them, the merging conditions at least include: the Euclidean distance between UAV a in cluster and UAV b in cluster is less than the preset distance threshold.
[0120] Optionally, the merging conditions are represented by the state vector of UAV a and the state vector of UAV b, specifically:
[0121] 50%, where is the state vector threshold.
[0122] Optionally, the new merged cluster is: , if the subsequent conditions are met, continue with dynamic merging.
[0123] Optionally, if , then perform cluster splitting on cluster , re-partition the cluster, where p and q are two UAVs in the same cluster of the cluster.
[0124] Optionally, when partitioning the initial cluster and performing cluster dynamic maintenance, the base station determines the beam center direction based on the real-time angles of the UAVs in the cluster and synchronously adjusts the coverage beam parameters, specifically including:
[0125] ;
[0126] ;
[0127] ;
[0128] where is the beam azimuth angle used by the base station to cover cluster , is the beam downward tilt angle used by the base station to cover cluster , is the horizontal wave width of the used beam. Thus, the clustering of UAVs in the airspace covered by the base station and the determination of beam parameters are completed.
[0129] Optionally, in the case where there are no switching UAVs around the base station, focus on ensuring the network quality of the UAVs currently covered by the base station. If there are UAVs about to switch to the current base station, then give priority to ensuring the smooth handover of the UAVs.
[0130] Optionally, for the UAVs about to switch, if the number ≤ 2, then use two beams to cover them separately; if the number > 2, then use the bisection method to determine the beam coverage parameters with the azimuth angle median line of the base station as the boundary, including the following steps:
[0131] Step S91, determine whether there are switching UAVs on both sides of the azimuth angle median line. If there are, calculate the UAV information on both sides of the azimuth angle median line respectively, and determine the azimuth angle, downward tilt angle and beam width of the beam used by the base station for coverage;
[0132] Step S92: If there is only a handover UAV on one side of the azimuth median line, recalculate the sub-line of the azimuth median line and determine the base station beam parameters according to Step S91. When there are handover UAVs, UAV clusters, and outlier UAVs within the base station coverage area simultaneously, two wide beams are used to handle the incoming UAVs, and the remaining beams give priority to ensuring the clusters with a larger number of UAVs. When necessary, the 15° horizontal beamwidth beam is adjusted to 30° to maintain the coverage of the existing UAVs, while ensuring the instantaneous service perception of the handover UAVs and the UAVs within the coverage area. After the UAVs complete the handover, cluster merging and cluster splitting are carried out normally.
[0133] So far, the clustering of UAVs within the airspace covered by the base station, the determination of the beam parameters used by the base station to track UAVs, and the description of the handover strategy when there are handover UAVs have been realized. The dynamic adjustment of the base station beam can be achieved through the network management API and can be used in the airspace network project.
[0134] Figure 2 It is a schematic diagram of the clustering result of a UAV according to an embodiment of the present invention. As Figure 2 shown, the light red area is the base station coverage area. Two adjacent UAVs are represented by red dots, the outlier UAVs are represented by cyan dots, and the white is the schematic diagram of the base station beam. The technical solution provided by this application can achieve accurate clustering of UAVs and base station beam tracking.
[0135] As an optional example, according to the technical solution provided by this application, the UAV route, longitude and latitude, and altitude information can be obtained, and the ENU coordinates of the UAV and the base station, as well as the azimuth angle of the UAV and the required downward tilt angle of the base station coverage, can be calculated. Specifically, it includes: determining whether the UAV is within the base station coverage area according to the spatial domain and angular domain identifiers, clustering the UAVs according to the base station coverage area, and determining the azimuth angle, downward tilt angle, and horizontal beamwidth of the beam used by the base station. And when it is necessary to hand over the UAV, two wide beams are used to ensure the handover service, and the parameters of the used coverage beam are adjusted to balance the service quality of the handover UAVs and the UAVs within the coverage area. The adjustment of the base station custom beam is carried out through the API.
[0136] It should be noted that traditional clustering methods are only used in a two-dimensional plane and are not suitable for scenarios where the number of UAVs is uncertain, the spatio-temporal distance difference is large, and a single base station beam must cover a single cluster; the four-dimensional double-clustering OPTICS algorithm based on the ellipsoidal neighborhood proposed in this application models a three-dimensional ellipsoid in a four-dimensional space, maps the beam coverage ability to the "reachable distance" in the four-dimensional space, and quantifies the physical coverage ability of the beam in time and space. Through rough clustering and fine adjustment, a spatio-temporal clustering method for UAVs combined with the base station beam coverage ability is realized;
[0137] In the above embodiments of the present application, for the first time in the industry, real-time beam tracking of unmanned aerial vehicles (UAVs) by airspace base stations has been achieved. According to project field measurements, the airspace coverage rate has been increased by an average of 6% and up to 10%, effectively improving the communication rate, communication, and handover stability of UAVs, which is an important step in building an intelligent airspace network.
[0138] According to an embodiment of the present invention, there is also provided an embodiment of a clustering device for UAVs. It should be noted that the clustering device for UAVs can be used to execute the clustering method for UAVs in the embodiments of the present invention, and the clustering method for UAVs in the embodiments of the present invention can be executed in the clustering device for UAVs.
[0139] Figure 3 It is a schematic diagram of a clustering device for UAVs according to an embodiment of the present invention. As Figure 3 shown, the device may include: a first acquisition module 32, configured to acquire the trajectory information of each UAV within the coverage range of the same base station, where the trajectory information at least includes: the entry time when the UAV enters the coverage range, and the azimuth information of the UAV relative to the base station; a determination module 34, configured to determine the spatio-temporal distance between a first UAV and a plurality of second UAVs based on the trajectory information, where the first UAV is any UAV within the coverage range, and the second UAVs are other UAVs within the coverage range except the first UAV, and the spatio-temporal distance is at least determined based on the difference between the azimuth information and the entry time between two UAVs; a clustering module 36, configured to cluster a plurality of UAVs within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one UAV cluster, where the number of UAVs in each UAV cluster is not less than the preset minimum neighborhood point number, and the spatio-temporal distance between any two UAVs within the same UAV cluster does not exceed the preset reachable boundary.
[0140] It should be noted that the first acquisition module 32 in this embodiment can be used to execute step S102 in the embodiments of the present application, the determination module 34 in this embodiment can be used to execute step S104 in the embodiments of the present application, and the clustering module 36 in this embodiment can be used to execute step S106 in the embodiments of the present application. The examples and application scenarios implemented by the above modules and the corresponding steps are the same, but are not limited to the content disclosed in the above embodiments.
[0141] In the above embodiments of the present application, by collecting the trajectory information of the drones, and calculating the spatial distance of the time difference between the drones based on the entry time and azimuth information of each drone entering the base station coverage area, the spatio-temporal distance between the drones is obtained. Then, based on this spatio-temporal distance, combined with the preset minimum neighborhood point number and preset reachable boundary, the drones are clustered to obtain at least one drone cluster. Furthermore, the base station can provide corresponding beams for each drone cluster based on the clustering result of the drones, ensuring that the beams allocated to each drone cluster can cover each drone within the drone cluster, achieving the technical effect of accurately clustering the drones, and thus solving the technical problem of inaccurate drone clustering existing in the prior art.
[0142] As an alternative embodiment, the clustering module includes: a sorting unit for arranging the spatio-temporal distances between the same first drone and multiple second drones in ascending order to obtain a distance queue corresponding to each first drone; a first determination unit for determining, in the distance queue corresponding to each first drone, the spatio-temporal distance whose arrangement order conforms to the preset minimum neighborhood point number as the core distance for clustering with the first drone as the clustering center; a second determination unit for determining the reachable distance of each first drone based on the core distance of each first drone and the spatio-temporal distances between the same drone and multiple second drones, where the reachable distance is the maximum value among the core distance and multiple spatio-temporal distances; a third determination unit for determining the drone cluster to which each first drone belongs based on the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary.
[0143] As an alternative embodiment, the third determination unit includes: a first determination subunit for determining that the first drone and all second drones belong to the same drone cluster when the reachable distance exceeds the preset reachable boundary; a judgment subunit for judging whether the core distance of the first drone exceeds the preset reachable boundary when the reachable distance does not exceed the preset reachable boundary; a second determination subunit for determining the first drone as an outlier drone when the core distance of the first drone exceeds the preset reachable boundary; a third determination subunit for establishing a target clustering cluster with the first drone as the clustering center based on the preset reachable boundary when the core distance of the first drone does not exceed the preset reachable boundary, where the target clustering cluster is a drone cluster, and the target clustering cluster includes: multiple second drones whose spatio-temporal distances from the first drone are not greater than the preset reachable boundary.
[0144] As an alternative embodiment, the device further includes: a first determination sub-module, configured to, after clustering multiple drones within the coverage area according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster, traverse all the drone clusters and determine a violation cluster in which the spatio-temporal distance between any two drones within the same drone cluster is greater than a preset spatio-temporal threshold; a second determination sub-module, configured to, in the violation cluster, determine the two drones with the largest spatio-temporal distance as violation drones, where the violation drones include: a first violation drone and a second violation drone; a creation sub-module, configured to respectively create corresponding updated clusters according to the first violation drone and the second violation drone, where the updated clusters are drone clusters, and the updated clusters include: a first updated cluster with the first violation drone as the clustering center, and a second updated cluster with the second violation drone as the clustering center; a division sub-module, configured to divide the drones within the violation cluster whose spatio-temporal distance from the violation drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violation drones.
[0145] As an alternative embodiment, the division sub-module includes: a fourth determination unit, configured to, in the violation cluster, determine the spatio-temporal distance between each drone and the first violation drone as a first distance, and determine the spatio-temporal distance between each drone and the second violation drone as a second distance; a first division unit, configured to divide the drone into the first updated cluster when the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is greater than the preset spatio-temporal threshold; a second division unit, configured to divide the drone into the second updated cluster when the first distance of the same drone is greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold.
[0146] As an alternative embodiment, the device further includes: a comparison unit, configured to compare the magnitudes of the first distance and the second distance when the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold; a third division unit, configured to divide the drone into the first updated cluster when the first distance is less than the second distance; a fourth division unit, configured to divide the drone into the second updated cluster when the first distance is not less than the second distance.
[0147] As an alternative embodiment, the device further includes: a fifth determination unit, configured to determine the drone as a target drone when the first distance and the second distance of the same drone are both greater than the preset spatio-temporal threshold; a clustering unit, configured to cluster all the target drones in the violation cluster according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster.
[0148] As an alternative embodiment, the apparatus further includes: a third determination sub-module, configured to determine a maintenance period for maintaining the drone clusters according to extreme flight data of drones within the coverage area after clustering multiple drones within the coverage area according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster, where the extreme flight data at least includes: a target flight speed of the drone with the fastest flight speed within the coverage area, and a target acceleration of the drone with the largest acceleration within the coverage area; a maintenance sub-module, configured to detect whether at least one drone cluster meets a preset maintenance condition according to the maintenance period, and maintain at least one drone cluster according to a preset maintenance strategy corresponding to the preset maintenance condition, where the preset maintenance condition at least includes: a merging condition and a splitting condition, the merging condition at least includes: the Euclidean distance between drones in two drone clusters is less than a preset distance threshold, the splitting condition at least includes: the spatio-temporal distance between two drones in the same drone cluster exceeds the preset reachable boundary, and the preset maintenance strategy includes: a merging strategy corresponding to the merging condition, and a splitting strategy corresponding to the splitting condition.
[0149] Embodiments of the present invention may provide an electronic device, which may be a computer terminal, and the computer terminal may be any one of the computer terminal devices in a computer terminal group. Optionally, in this embodiment, the above computer terminal may also be replaced with a terminal device such as a mobile terminal.
[0150] Optionally, in this embodiment, the above computer terminal may be located in at least one of multiple network devices in a computer network.
[0151] Figure 4 is a structural block diagram of a computer terminal according to an embodiment of the present invention, as Figure 4 shown, the computer terminal 40 may include: one or more (only one is shown in the figure) processors 42, and a memory 44.
[0152] Among them, the memory may be used to store software programs and modules, such as program instructions / modules corresponding to the clustering method and apparatus of drones in the embodiments of the present invention. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, that is, implements the above-mentioned clustering method of drones. The memory may include a high-speed random access memory, and may further include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memories. In some instances, the memory may further include a memory remotely disposed relative to the processor, and these remote memories may be connected to the terminal 40 through a network. Examples of the above network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.
[0153] The processor can call the information and application programs stored in the memory through the transmission device to execute the following steps: Obtain the trajectory information of each drone within the coverage range of the same base station, where the trajectory information at least includes: the entry time when the drone enters the coverage range, and the azimuth information of the drone relative to the base station; Determine the spatio-temporal distance between the first drone and multiple second drones according to the trajectory information, where the first drone is any drone within the coverage range, and the second drones are other drones within the coverage range except the first drone, and the spatio-temporal distance is at least determined based on the difference between the azimuth information and the entry time between two drones; Cluster the multiple drones within the coverage range according to the preset minimum neighborhood points and the preset reachable boundary to obtain at least one drone cluster, where the number of drones in each drone cluster is not less than the preset minimum neighborhood points, and the spatio-temporal distance between any two drones in the same drone cluster does not exceed the preset reachable boundary.
[0154] Optionally, the above-mentioned processor can also execute the program code of the following steps: Arrange the spatio-temporal distances between the same first drone and multiple second drones in ascending order to obtain the distance queue corresponding to each first drone; In the distance queue corresponding to each first drone, determine the spatio-temporal distance whose arrangement order conforms to the preset minimum neighborhood points as the core distance for clustering with the first drone as the clustering center; Determine the reachable distance of each first drone according to the core distance of each first drone and the spatio-temporal distances between the same drone and multiple second drones, where the reachable distance is the maximum value among the core distance and multiple spatio-temporal distances; Determine the drone cluster to which each first drone belongs according to the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary.
[0155] Optionally, the above-mentioned processor can also execute the program code of the following steps: In the case where the reachable distance exceeds the preset reachable boundary, determine that the first drone and all second drones belong to the same drone cluster; In the case where the reachable distance does not exceed the preset reachable boundary, judge whether the core distance of the first drone exceeds the preset reachable boundary; In the case where the core distance of the first drone exceeds the preset reachable boundary, determine that the first drone is an outlier drone; In the case where the core distance of the first drone does not exceed the preset reachable boundary, establish a target clustering cluster with the first drone as the clustering center according to the preset reachable boundary, where the target clustering cluster is a drone cluster, and the target clustering cluster includes: multiple second drones whose spatio-temporal distances from the first drone are not greater than the preset reachable boundary.
[0156] Optionally, the above-mentioned processor may also execute the program code of the following steps: traverse all the drone clusters, determine the violation clusters in which the spatio-temporal distance between any two drones in the same drone cluster is greater than the preset spatio-temporal threshold; in the violation clusters, determine the two drones with the largest spatio-temporal distance as the violating drones, where the violating drones include: the first violating drone and the second violating drone; respectively establish corresponding updated clusters according to the first violating drone and the second violating drone, where the updated clusters are drone clusters, and the updated clusters include: the first updated cluster with the first violating drone as the clustering center, and the second updated cluster with the second violating drone as the clustering center; divide the drones in the violation clusters whose spatio-temporal distance from the violating drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violating drones.
[0157] Optionally, the above-mentioned processor may also execute the program code of the following steps: in the violation clusters, determine the spatio-temporal distance between each drone and the first violating drone as the first distance, and the spatio-temporal distance between each drone and the second violating drone as the second distance; in the case where the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is greater than the preset spatio-temporal threshold, divide the drone into the first updated cluster; in the case where the first distance of the same drone is greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold, divide the drone into the second updated cluster.
[0158] Optionally, the above-mentioned processor may also execute the program code of the following steps: in the case where the first distance and the second distance of the same drone are not greater than the preset spatio-temporal threshold, compare the magnitudes of the first distance and the second distance; in the case where the first distance is less than the second distance, divide the drone into the first updated cluster; in the case where the first distance is not less than the second distance, divide the drone into the second updated cluster.
[0159] Optionally, the above-mentioned processor may also execute the program code of the following steps: in the case where the first distance and the second distance of the same drone are both greater than the preset spatio-temporal threshold, determine the drone as a target drone; cluster all the target drones in the violation clusters according to the preset minimum neighborhood points and the preset reachable boundary to obtain at least one drone cluster.
[0160] Optionally, the above-mentioned processor may also execute the program code of the following steps: determine the maintenance period for maintaining the drone cluster based on the extreme flight data of the drones within the coverage area, where the extreme flight data at least includes: the target flight speed of the drone with the fastest flight speed within the coverage area, and the target acceleration of the drone with the maximum acceleration within the coverage area; detect whether at least one drone cluster meets the preset maintenance conditions according to the maintenance period, and maintain at least one drone cluster according to the preset maintenance strategy corresponding to the preset maintenance conditions, where the preset maintenance conditions at least include: a merging condition and a splitting condition, the merging condition at least includes: the Euclidean distance between the drones in two drone clusters is less than the preset distance threshold, the splitting condition at least includes: the spatio-temporal distance between two drones in the same drone cluster exceeds the preset reachable boundary, and the preset maintenance strategy includes: the merging strategy corresponding to the merging condition and the splitting strategy corresponding to the splitting condition.
[0161] Those of ordinary skill in the art can understand that Figure 4 the structure shown is only illustrative, and the computer terminal can also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a palm computer, and a mobile Internet device (Mobile Internet Devices, MID), a PAD and other terminal devices. Figure 4 It does not limit the structure of the above-mentioned electronic device. For example, the computer terminal 40 may further include more or fewer components (such as a network interface, a display device, etc.) than those shown in Figure 4 or have a different configuration from that shown in Figure 4 shown.
[0162] Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the relevant hardware of the terminal device through a computer program, and the computer program can be stored in a non-volatile medium. The non-volatile storage medium may include: a flash drive, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disc, etc.
[0163] An embodiment of the present invention also provides a non-volatile storage medium. Optionally, in this embodiment, the above-mentioned non-volatile storage medium can be used to store the program code executed by the clustering method of the drone provided in the above embodiment.
[0164] Optionally, in this embodiment, the above-mentioned non-volatile storage medium may be located in any one of the computer terminals in the computer terminal group in the computer network, or in any one of the mobile terminals in the mobile terminal group.
[0165] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: obtaining the trajectory information of each drone within the coverage range of the same base station, where the trajectory information at least includes: the entry time when the drone enters the coverage range, and the azimuth information of the drone relative to the base station; determining the spatio-temporal distance between a first drone and multiple second drones according to the trajectory information, where the first drone is any one of the drones within the coverage range, and the second drones are the other drones within the coverage range except the first drone, and the spatio-temporal distance is at least determined based on the difference between the azimuth information and the entry time between two drones; clustering the multiple drones within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster, where the number of drones within each drone cluster is not less than the preset minimum neighborhood point number, and the spatio-temporal distance between any two drones within the same drone cluster does not exceed the preset reachable boundary.
[0166] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: arranging the spatio-temporal distances between the same first drone and multiple second drones in ascending order to obtain a distance queue corresponding to each first drone; in the distance queue corresponding to each first drone, determining the spatio-temporal distance whose arrangement order conforms to the preset minimum neighborhood point number as the core distance for clustering with the first drone as the clustering center; determining the reachable distance of each first drone according to the core distance of each first drone and the spatio-temporal distances between the same drone and multiple second drones, where the reachable distance is the maximum value among the core distance and multiple spatio-temporal distances; determining the drone cluster to which each first drone belongs according to the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary.
[0167] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: in the case where the reachable distance exceeds the preset reachable boundary, determining that the first drone and all the second drones belong to the same drone cluster; in the case where the reachable distance does not exceed the preset reachable boundary, determining whether the core distance of the first drone exceeds the preset reachable boundary; in the case where the core distance of the first drone exceeds the preset reachable boundary, determining that the first drone is an outlier drone; in the case where the core distance of the first drone does not exceed the preset reachable boundary, establishing a target clustering cluster with the first drone as the clustering center according to the preset reachable boundary, where the target clustering cluster is a drone cluster, and the target clustering cluster includes: multiple second drones whose spatio-temporal distances from the first drone do not exceed the preset reachable boundary.
[0168] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: traversing all the drone clusters, determining a violation cluster in which the spatio-temporal distance between any two drones within the same drone cluster is greater than a preset spatio-temporal threshold; in the violation cluster, determining the two drones with the largest spatio-temporal distance as the violating drones, where the violating drones include: a first violating drone and a second violating drone; based on the first violating drone and the second violating drone, respectively establishing corresponding updated clusters, where the updated clusters are drone clusters, and the updated clusters include: a first updated cluster with the first violating drone as the clustering center, and a second updated cluster with the second violating drone as the clustering center;
[0169] Dividing the drones in the violation cluster whose spatio-temporal distance from the violating drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violating drones.
[0170] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: in the violation cluster, determining the spatio-temporal distance between each drone and the first violating drone as the first distance, and the spatio-temporal distance between each drone and the second violating drone as the second distance; in the case where the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is greater than the preset spatio-temporal threshold, dividing the drone into the first updated cluster; in the case where the first distance of the same drone is greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold, dividing the drone into the second updated cluster.
[0171] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: in the case where the first distance and the second distance of the same drone are both not greater than the preset spatio-temporal threshold, comparing the magnitudes of the first distance and the second distance; in the case where the first distance is less than the second distance, dividing the drone into the first updated cluster; in the case where the first distance is not less than the second distance, dividing the drone into the second updated cluster.
[0172] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: in the case where the first distance and the second distance of the same drone are both greater than the preset spatio-temporal threshold, determining the drone as a target drone; clustering all the target drones in the violation cluster according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster.
[0173] Optionally, in this embodiment, the non-volatile storage medium is configured to store program code for performing the following steps: determining a maintenance cycle for maintaining the UAV clusters based on the extreme flight data of the UAVs within the coverage area, where the extreme flight data at least includes: the target flight speed of the UAV with the fastest flight speed within the coverage area, and the target acceleration of the UAV with the maximum acceleration within the coverage area; detecting whether at least one UAV cluster meets a preset maintenance condition according to the maintenance cycle, and maintaining at least one UAV cluster according to a preset maintenance strategy corresponding to the preset maintenance condition, where the preset maintenance condition at least includes: a merging condition and a splitting condition, the merging condition at least includes: the Euclidean distance between the UAVs in two UAV clusters is less than a preset distance threshold, the splitting condition at least includes: the spatio-temporal distance between two UAVs in the same UAV cluster exceeds a preset reachable boundary, and the preset maintenance strategy includes: a merging strategy corresponding to the merging condition and a splitting strategy corresponding to the splitting condition.
[0174] An embodiment of the present invention further provides a computer program product, including a computer program. Optionally, in this embodiment, when the computer program is executed by a processor, it implements the steps of the UAV clustering method provided in the above embodiment.
[0175] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0176] In the above embodiments of the present invention, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0177] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only illustrative. For example, the division of the units can be a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the units or modules can be in an electrical or other form.
[0178] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0179] In addition, in each embodiment of the present invention, each functional unit can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0180] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile storage medium. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a non-volatile storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present invention. The aforementioned non-volatile storage medium includes: various media such as USB flash drives, read-only memories (ROMs), random access memories (RAMs), mobile hard disks, magnetic disks, or optical discs that can store program codes.
[0181] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present invention.
Claims
1. A clustering method for an unmanned aerial vehicle, characterized in that, Including: Obtain the trajectory information of each drone within the coverage of the same base station, where the trajectory information at least includes: the entry time when the drone enters the coverage, and the azimuth information of the drone relative to the base station; According to the trajectory information, determine the spatio-temporal distance between the first drone and multiple second drones, where the first drone is any one of the drones within the coverage, and the second drone is any other drone within the coverage except the first drone, and the spatio-temporal distance is determined at least based on the difference between the azimuth information and the entry time between the two drones; Cluster the multiple drones within the coverage according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster, where the number of drones in each drone cluster is not less than the preset minimum neighborhood point number, and the spatio-temporal distance between any two drones in the same drone cluster does not exceed the preset reachable boundary.
2. The method according to claim 1, wherein Clustering the drones within the coverage according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster includes: Arrange the spatio-temporal distances between the same first drone and multiple second drones in ascending order to obtain a distance queue corresponding to each first drone; In the distance queue corresponding to each first drone, determine the spatio-temporal distance whose sorting order conforms to the preset minimum neighborhood point number as the core distance for clustering with the first drone as the clustering center; According to the core distance of each first drone and the spatio-temporal distance between the same drone and multiple second drones, determine the reachable distance of each first drone, where the reachable distance is the maximum value of the core distance and multiple spatio-temporal distances; Determine the drone cluster to which each first drone belongs according to the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary.
3. The method according to claim 2, wherein Determine the drone cluster to which each first drone belongs according to the relationship between the reachable distance and the preset reachable boundary, and the relationship between the core distance and the preset reachable boundary includes: In the case where the reachable distance exceeds the preset reachable boundary, determine that the first drone and all the second drones belong to the same drone cluster; In the case where the reachable distance does not exceed the preset reachable boundary, judge whether the core distance of the first drone exceeds the preset reachable boundary; In the case where the core distance of the first drone exceeds the preset reachable boundary, determine that the first drone is an outlier drone; When the core distance of the first drone does not exceed the preset reachable boundary, a target clustering cluster is established with the first drone as the clustering center according to the preset reachable boundary, where the target clustering cluster is the drone cluster, and the target clustering cluster includes: a plurality of second drones whose spatio-temporal distance from the first drone is not greater than the preset reachable boundary.
4. The method according to claim 1, characterized in that After clustering a plurality of the drones within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster, the method further includes: Traverse all the drone clusters to determine a violation cluster in which the spatio-temporal distance between any two drones within the same drone cluster is greater than a preset spatio-temporal threshold; In the violation cluster, determine the two drones with the largest spatio-temporal distance as the violating drones, where the violating drones include: a first violating drone and a second violating drone; According to the first violating drone and the second violating drone, corresponding updated clusters are respectively established, where the updated clusters are the drone clusters, and the updated clusters include: a first updated cluster with the first violating drone as the clustering center, and a second updated cluster with the second violating drone as the clustering center; Divide the drones in the violation cluster whose spatio-temporal distance from the violating drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violating drones.
5. The method according to claim 4, wherein Dividing the drones in the violation cluster whose spatio-temporal distance from the violating drones is not greater than the preset spatio-temporal threshold into the updated clusters corresponding to the violating drones includes: In the violation cluster, determine the spatio-temporal distance between each drone and the first violating drone as the first distance, and the spatio-temporal distance between each drone and the second violating drone as the second distance; When the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is greater than the preset spatio-temporal threshold, divide the drone into the first updated cluster; When the first distance of the same drone is greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold, divide the drone into the second updated cluster.
6. The method according to claim 5, characterized in that, The method further includes: When the first distance of the same drone is not greater than the preset spatio-temporal threshold and the second distance is not greater than the preset spatio-temporal threshold, compare the magnitudes of the first distance and the second distance; When the first distance is less than the second distance, divide the drone into the first updated cluster; When the first distance is not less than the second distance, divide the drone into the second updated cluster.
7. The method according to claim 1, characterized in that, After clustering a plurality of the drones within the coverage range according to a preset minimum neighborhood point number and a preset reachable boundary to obtain at least one drone cluster, the method further includes: Determine the maintenance period for maintaining the drone cluster based on the extreme flight data of the drones within the coverage area, where the extreme flight data at least includes: the target flight speed of the drone with the fastest flight speed within the coverage area, and the target acceleration of the drone with the maximum acceleration within the coverage area; Detect whether at least one of the drone clusters meets the preset maintenance conditions according to the maintenance period, and maintain at least one of the drone clusters according to the preset maintenance strategy corresponding to the preset maintenance conditions. The preset maintenance conditions at least include: a merging condition and a splitting condition. The merging condition at least includes: the Euclidean distance between the drones in two of the drone clusters is less than a preset distance threshold. The splitting condition at least includes: the spatio-temporal distance between two drones in the same drone cluster exceeds the preset reachable boundary. The preset maintenance strategy includes: the merging strategy corresponding to the merging condition and the splitting strategy corresponding to the splitting condition.
8. A clustering device for an unmanned aerial vehicle, characterized in that, including: A first acquisition module, configured to acquire the trajectory information of each drone within the coverage area of the same base station, where the trajectory information at least includes: the entry time when the drone enters the coverage area, and the azimuth information of the drone relative to the base station; A determination module, configured to determine the spatio-temporal distance between a first drone and a plurality of second drones according to the trajectory information, where the first drone is any one of the drones within the coverage area, and the second drones are other drones within the coverage area except the first drone. The spatio-temporal distance is at least determined based on the difference between the azimuth information and the entry time between the two drones; A clustering module, configured to cluster the multiple drones within the coverage area according to a preset minimum number of neighborhood points and a preset reachable boundary to obtain at least one drone cluster, where the number of drones in each drone cluster is not less than the preset minimum number of neighborhood points, and the spatio-temporal distance between any two drones in the same drone cluster does not exceed the preset reachable boundary.
9. An electronic device, comprising a memory and a processor, characterized in that, A computer program is stored in the memory, and the processor is configured to execute the clustering method of the drone according to any one of claims 1 to 7 through the computer program.
10. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, the steps of the clustering method of the drone according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Hierarchical clustering network topology structure generation method based on multi-task unmanned aerial vehicle cluster information interaction
CN112437502A
Unmanned aerial vehicle clustering method and device and electronic equipment
CN114783215A
Clustering control method and device for unmanned aerial vehicle networking, electronic equipment and storage medium
CN118524589A
Task-driven unmanned aerial vehicle ad hoc network clustering method
CN119052886A
Cooperative clustering for enhancing MU-massive-MISO-based UAV communication
US20170126309A1