A UAV swarm control method based on time domain priority strategy

By introducing a time-domain priority strategy into the UAV cluster path planning, calculating three-dimensional trajectory data and performing obstacle avoidance processing, the problem of failing to effectively consider the time dimension in the existing technology is solved, and the UAV cluster can achieve the same mission under the same mission. The results are the least time consuming, the lowest energy consumption and the optimal flight path.

CN115357043BActive Publication Date: 2025-01-21HANGZHOU DIANZI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210944041.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-05
Publication Date
2025-01-21
Estimated Expiration
2042-08-05

AI Technical Summary

Technical Problem

The existing drone cluster path planning methods are mainly managed in the spatial dimension, and the time dimension is not effectively considered, resulting in the problems of long time consumption, poor paths and high energy consumption under the same tasks.

Method used

A UAV cluster control method based on time domain priority strategy is adopted to ensure the time domain of the path by configuring cluster attributes and environmental information, initializing the hash table, configuring cluster tasks and scheduling methods, calculating three-dimensional trajectory data, and performing obstacle avoidance processing. priority.

Benefits of technology

On the premise of ensuring flight safety, the autonomous flight capability of the drone is improved, achieving the effects of the least time-consuming, lowest energy consumption and optimal flight path in the same flight scenario.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115357043B_ABST
    Figure CN115357043B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for controlling a drone cluster based on a time domain priority strategy, comprising the following steps: the system configures individual cluster attributes and an environmental system; initializes individuals and a hash table; configures cluster tasks according to the current number of iterations; the system configures individual state information as a starting state, configures target state information as a target state, substitutes the starting state and the target state into a time domain priority method to calculate and obtain three-dimensional trajectory data; performs obstacle avoidance processing on the three-dimensional trajectory data; stores the data in a hash table; and determines whether to continue iteration according to whether the current number of iterations reaches a limit number of iterations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of intelligent control of unmanned aerial vehicle clusters, and in particular to a method for controlling unmanned aerial vehicle clusters based on a time domain priority strategy. Background Art

[0002] With the iteration and update of related technologies such as image recognition and data communication, drone technology has been widely used in many fields of society. For example, using drone arrays to build display screens to replace traditional light projection can cope with a variety of complex environments and have a more three-dimensional viewing effect. In post-disaster rescue operations, using drone arrays to build display screens can serve as temporary signal base stations, solving the problem of missing the best rescue time due to post-disaster signal link interruptions. For another example, in the military industry, drones can carry signal collection to obtain or enemy intelligence, or carry warheads to carry out military strikes. Their high mobility and low cost greatly reduce casualties in wartime.

[0003] Drone swarm control technology is developed on the basis of drone technology. Compared with individual drones, drone swarms have higher stability and reliability. Thanks to hierarchical network management, individuals in a drone swarm can maintain a stable flight posture without having to consider collisions between individuals. However, this highly correlated topological structure also has disadvantages. When dealing with unknown emergencies, drone swarms are prone to chaos. After high-cost operations such as formation release and re-formation, the drone swarm can recover to its previous stable state. In addition, the task execution efficiency of drone swarms under hierarchical structure management is generally low, and there are situations where multiple drones perform the same task. Based on the above, drone swarms with individual autonomous awareness can effectively and smoothly deal with emergencies in the environment and have greater advantages in task execution.

[0004] Path planning is one of the key technologies to improve the autonomous flight capability of drones and ensure flight safety. It is essentially a system optimization problem with complex constraints. The existing path planning methods for drones and clusters are mainly reflected in various spatial path planning methods, which only consider spatial trajectory management without considering the time dimension. How to add the time dimension on the basis of the existing spatial path management and construct a drone trajectory data set based on time coupling is a key problem that needs to be solved. For clusters, in most flight scenarios, they hope to spend the least time, have a better path or consume the least energy under the same task. Therefore, how to establish a path in the shortest time is the most critical. Summary of the invention

[0005] In order to overcome the shortcomings and problems of the prior art, the present invention provides a UAV cluster control method based on a time domain priority strategy.

[0006] To achieve the above object, the present invention adopts the following technical solution:

[0007] A UAV cluster control method based on a time domain priority strategy comprises the following steps:

[0008] Step 1: The system configures the cluster attributes of individuals, where the cluster attributes include the total number of individuals, individual number, individual size, individual balance distance, individual acceleration upper limit, individual collision detection upper limit and limit iteration number;

[0009] The system configures environmental information, wherein the environmental information includes airspace information and subspace information, the airspace represents the activity range of the individual, the subspace represents the area where the individual performs aggregation tasks and diffusion tasks, and the subspace includes aggregation subspace and diffusion subspace;

[0010] Step 2: The system initializes the individual and the hash table. The hash table stores the individual's current iteration number, flight path data, dynamic obstacle data, individual status information, and individual flight time. The individual status information includes the individual's position, speed, speed direction, and cluster task.

[0011] Step 3: The system configures cluster tasks and scheduling methods, and configures cluster tasks for individuals according to the scheduling methods. Cluster tasks include regular tasks, gathering tasks, and diffusion tasks. Regular tasks are random flight behaviors of individuals in the airspace, gathering tasks are flight behaviors of individuals gathering in the airspace, and diffusion tasks are behaviors of individuals flying in the airspace to avoid diffusion subspaces.

[0012] Step 4: The system obtains the cluster task, determines whether the cluster task performed by the individual is a regular task, if so, configures the target state information in the airspace, otherwise, determines whether the cluster task performed by the individual is an aggregate task, if so, configures the target state information in the aggregate subspace, otherwise, determines whether the cluster task performed by the individual is a diffusion task, if so, configures the target state information outside the diffusion subspace, wherein the target state information includes the target speed size, target speed direction and target position of the individual;

[0013] Step 5: The system configures the individual state information as the starting state, configures the target state information as the target state, substitutes the starting state and the target state into the time domain priority method to calculate and obtain the three-dimensional trajectory data;

[0014] Step 6: The system determines whether there will be a collision between the individuals. If not, the 3D trajectory data is retained. If so, obstacle avoidance processing is performed on the 3D trajectory data.

[0015] Step 7: The system stores the three-dimensional trajectory data after the retention or obstacle avoidance process into the hash table;

[0016] Step 8: The system adds one to the current number of iterations and determines whether the current number of iterations is equal to the limit number of iterations. If not, iterates steps 3 to 8. If so, the system ends the process.

[0017] Preferably, the step 2 specifically comprises:

[0018] The hash table includes a flight path data table, a dynamic obstacle data table, an individual state information table and an individual flight time data table;

[0019] The flight path data table stores the individual number and flight path data of the individual. The system uses the individual number as the keyword of the flight path data table and the flight path data as the address set of the flight path data table. The address set of the flight path data table can be directly accessed according to the keyword of the path data table.

[0020] The dynamic obstacle data table stores the system timestamp and individual location information. The system uses the system timestamp as the keyword of the dynamic obstacle data table and the individual location information as the address set of the dynamic obstacle data table. The address set of the dynamic obstacle data table can be directly accessed according to the keyword of the dynamic obstacle data table.

[0021] The individual status information data table stores the individual number and the individual's initial state. The system uses the individual number as the keyword of the individual status information data table and the individual's initial state as the address set of the individual status information data table. The address set of the individual status information data table can be directly accessed according to the keyword of the individual status information data table.

[0022] The individual flight time data table stores the individual number and individual flight time. The system uses the individual number as the keyword of the individual flight time data table and the individual flight time as the address set of the individual flight time data table. The address set of the individual flight time data table can be directly accessed according to the keyword of the individual flight time data table.

[0023] Preferably, the step 3 specifically comprises:

[0024] The system determines whether the current number of iterations is between 1-7 or between 13-15. If so, the individual is controlled to perform a regular task. Otherwise, it determines whether the current number of iterations is between 8-12. If so, the individual is controlled to perform an aggregation task. Otherwise, it determines whether the current number of iterations is between 15-20. If so, the individual is controlled to perform a diffusion task.

[0025] Preferably, the step 5 specifically comprises:

[0026] Step 51: The system establishes the starting state and the target state in a two-dimensional coordinate system through a three-dimensional coordinate system rotation and translation method, wherein the starting position in the starting state and the target position in the target state are located on the same plane, the X-axis of the two-dimensional coordinate system coincides with the starting velocity direction in the starting state, and the origin of the two-dimensional coordinate system is located at the starting position in the starting state, wherein the starting state includes the starting position, starting velocity magnitude, and starting velocity direction of the individual, and the target state includes the target position, target velocity magnitude, and target velocity direction of the individual;

[0027] Step 52: The system calculates the position sequence according to the following formula:

[0028]

[0029] In the above formula, x is the coordinate position on the X-axis in the position sequence, y is the coordinate position on the Y-axis in the position sequence, t∈T, T is the flight time corresponding to the three-dimensional trajectory data, and v∈(v s , v e ), v s is the starting velocity, v e is the target speed, is the starting velocity direction, The end point value is the target state speed direction;

[0030] Substitute the position sequence and target state into the following objective function to calculate the minimum Euclidean distance:

[0031]

[0032] In the above formula, is the target position in the two-dimensional coordinate system, f(v e ,θ) is the Euclidean distance;

[0033] According to the fmincon function in Matlab, the target state is optimized to meet the minimum Euclidean distance; the target state

[0034] Step 53: The system uses an equal-interval sampling method to convert the flight time T into a time series, and substitutes the time series, the starting speed magnitude, the starting speed direction, and the optimized target state into the following formula to reversely obtain the optimized two-dimensional trajectory data:

[0035]

[0036]

[0037] In the above formula, the starting value of v is the starting speed, and the end value of v is the speed of the optimized target state. The starting value is the starting velocity direction, The end point value is the speed direction of the optimized target state;

[0038] Step 54: The system converts the optimized two-dimensional trajectory data into three-dimensional trajectory data through a three-dimensional coordinate system rotation and translation method.

[0039] Preferably, the airspace is represented by a rectangle, and the airspace information includes edge length.

[0040] Preferably, the subspace is represented by a sphere, and the subspace information includes the center position of the subspace and the radius of the subspace.

[0041] Preferably, the step 6 specifically comprises:

[0042] Step 61: Determine whether the cluster task configured by the individual is a regular task or a clustering task. If so, calculate the distance between individuals based on the position information of all individuals, and determine whether the distance between individuals is greater than the individual equilibrium distance. If not, generate obstacle avoidance position information outside the diffusion subspace, and use the obstacle avoidance position information to replace the position information of the corresponding individual. If so, retain the position information of the corresponding individual.

[0043] Step 62: The system determines whether the cluster task configured by the individual is a diffusion task. If so, the system calculates the distance between all individuals and the center of the diffusion subspace based on the position information and subspace information of all individuals, and determines whether the distance between all individuals and the center of the diffusion subspace is less than the radius of the diffusion subspace. If not, the position information of the individual is retained. If so, the obstacle avoidance position information outside the diffusion subspace is configured, and the obstacle avoidance position information is used to replace the position information of the corresponding individual.

[0044] Preferably, the step 6 further comprises:

[0045] The three-dimensional trajectory data after retention or obstacle avoidance processing is stored in a hash table.

[0046] Compared with the prior art, the present invention has the following outstanding and beneficial technical effects:

[0047] In the present invention, the path control of the drone cluster meets the time domain priority, which not only takes into account the management of the flight trajectory, but also adds the consideration of the time dimension. Under the premise of ensuring flight safety, the autonomous flight capability of the drone is improved. Therefore, under the same flight scenario, the drone cluster control method based on the time domain priority strategy is used to control the drone, which has the advantages of minimum time consumption, lowest energy consumption and optimal flight path.

[0048] In the present invention, a hash table is used to manage the trajectory data of the drone cluster in the time dimension. The hash table is a structure that can directly access data according to the key code value, which improves the speed of data search and reduces the time cost of system operation. The hash table can be updated in real time according to data changes, ensuring the continuity of individuals in space and time. Therefore, the drone cluster control method based on the time domain priority strategy has the advantages of being suitable for data processing in the context of big data, high data processing efficiency, and simple data retrieval operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 It is a control flow diagram of the present invention;

[0050] Figure 2 It is a flow chart of the time domain priority method and obstacle avoidance process of the present invention; DETAILED DESCRIPTION

[0051] To facilitate understanding by those skilled in the art, the present invention is further described below in conjunction with the accompanying drawings and specific embodiments.

[0052] It should be noted that the UAV cluster control method based on the time domain priority strategy is applied to the UAV cluster control system, which is referred to as the system, and is used to solve the problem of how to spend the least time, have a better path or consume the least energy in the same task in most flight scenarios. The UAV cluster control system includes multiple individuals, which constitute a UAV cluster, and the individual represents a UAV.

[0053] like Figure 1 As shown, it is a control flow diagram of the present invention, wherein Tabs is a hash table, TabⅠ, TabⅡ, TabⅢ, and TabⅣ are respectively a flight path data table, a dynamic obstacle data table, an individual status information table, and an individual flight time data table, the data read and write operations of TabⅠ, TabⅡ, TabⅢ, and TabⅣ are indicated by arrow directions, and the access objects of TabⅠ, TabⅡ, TabⅢ, and TabⅣ are individuals corresponding to the individual numbers on the arrows. In the figure, Index represents the individual number, and the starting value is 1, and IterCnt represents the current number of iterations, and the starting value is 0.

[0054] A UAV cluster control method based on a time domain priority strategy comprises the following steps:

[0055] Step 1: The system configures the cluster attributes of individuals, where the cluster attributes include the total number of individuals (N), individual number, individual size, individual balance distance (BalanceDis), individual acceleration upper limit (MaxAcc), individual collision detection upper limit (ColDetLmt) and limit iteration number (IterLmt);

[0056] In the above steps, the total number of individuals refers to the total number of individuals. The individual number is obtained by numbering the individuals in the drone group in a certain order. The individual size refers to the size of the space occupied by the individual. The space occupied by the individual is a sphere, and the individual size is represented by the diameter of the sphere (BL). The individual balance distance refers to the minimum safe distance between two individuals. If the distance between the two individuals is less than or equal to the individual balance distance, the two individuals will interfere with each other, and the individuals are prone to unstable flight or even collision problems; if the distance between the two individuals is greater than the individual balance distance, the interference between the two individuals can be ignored, and the individuals can fly normally. The upper limit of individual acceleration refers to the maximum acceleration allowed to be reached during the flight of the individual. If the acceleration of the individual is less than or equal to the upper limit of the individual acceleration, the individual can fly safely; if the acceleration of the individual exceeds the upper limit of the individual acceleration, the individual is very likely to lose control, collide, and other problems. The limit number of iterations refers to the maximum number of iterations allowed from step 3 to step 8.

[0057] System configuration environment information, wherein the environment information includes airspace information and subspace information;

[0058] In the above steps, airspace information refers to the size data of the airspace. The airspace (AirSpc) is represented by a rectangle, and the airspace information includes the edge length. Subspace information refers to the size data of the subspace. The subspace is represented by a sphere. The subspace information includes the center position (SubSpcHub) and the subspace radius (SubSpcRad) of the subspace. The subspace includes the aggregation subspace and the diffusion subspace.

[0059] Step 2: The system initializes the individual and the hash table. The hash table stores the individual's current iteration number (IterCnt), flight path data, dynamic obstacle data, individual status information, and individual flight time. The individual status information includes the individual's position, speed, speed direction, and cluster task.

[0060] In the above steps, the system initialization of individuals refers to the system initialization of the individual state information and cluster tasks of the individuals. In this embodiment, the individual state information includes the position, speed and speed direction of the individual. The system uses (X, Y, Z) to represent the position of the individual, (v) to represent the speed of the individual, and (Fx, Fy, Fz) to represent the speed direction of the individual. When the system initializes the individual state information of the individual, the system uses a random number generation method to obtain the values ​​of (X, Y, Z), (v) and (Fx, Fy, Fz), and sets the position of the individual in the airspace, sets the speed in the preset safe speed range, and sets the speed direction in the preset safe angle range, ensuring that the position distance between any two individuals exceeds the individual balance distance, thereby achieving the effect of initializing the individual. When the system initializes the cluster task of the individual, the conventional task is configured for the individual, that is, Task0 is configured for the individual, and the individual performs the conventional task in the initial state.

[0061] A hash table is a structure that can directly access data based on key code values, which improves the speed of data search and reduces the time cost of system operation.

[0062] Furthermore, the system determines whether the individuals and the hash table have completed initialization, and if so, stores the initialized individual status information in the individual status information data table.

[0063] Step 3: The system configures cluster tasks and scheduling methods, and configures cluster tasks for individuals according to the scheduling methods. Cluster tasks include regular tasks, gathering tasks, and diffusion tasks. Regular tasks are random flight behaviors of individuals in the airspace, gathering tasks are flight behaviors of individuals gathering in the airspace, and diffusion tasks are behaviors of individuals flying in the airspace to avoid diffusion subspaces.

[0064] In the above steps, since there are multiple individuals, the system can configure cluster tasks for the individuals one by one according to the order of individual numbers in a scheduling manner. Cluster tasks refer to the system controlling the behavior of multiple individuals according to preset control instructions, thereby realizing the system configuring cluster tasks for each individual. In the system, Task is used to represent cluster tasks, Task0 is used to represent regular tasks, Task1 is used to represent aggregation tasks, and Task2 is used to represent diffusion tasks.

[0065] Furthermore, the system can pre-configure individual cluster tasks, and then store the configured cluster tasks in a hash table. The individual cluster tasks can be retrieved through keywords later, thereby controlling the individuals to execute the cluster tasks.

[0066] Step 4: The system obtains the cluster task and determines whether the cluster task performed by the individual is a regular task. If so, the target state information is configured in the airspace. If not, it is determined whether the cluster task performed by the individual is an aggregate task. If so, the target state information is configured in the aggregate subspace. If not, it is determined whether the cluster task performed by the individual is a diffusion task. If so, the target state information is configured outside the diffusion subspace.

[0067] In the above steps, the system obtains the cluster task from the individual state information data table according to the individual number. The target state information refers to the state information of the individual flight behavior at the end position under the current iteration number, wherein the target state information includes the target speed size, target speed direction and target position of the individual.

[0068] Step 5: The system configures the individual state information as the starting state, configures the target state information as the target state, substitutes the starting state and the target state into the time domain priority method to calculate and obtain the three-dimensional trajectory data;

[0069] Step 6: The system determines whether there will be a collision between the individuals. If not, the 3D trajectory data is retained. If so, obstacle avoidance processing is performed on the 3D trajectory data.

[0070] In the above steps, since the three-dimensional trajectory data obtained in step 5 does not consider whether there will be a collision between the individuals, the three-dimensional trajectory data is processed for obstacle avoidance in step 6 to avoid safety accidents caused by collision between individuals.

[0071] Step 7: The system stores the three-dimensional trajectory data after the retention or obstacle avoidance process into the hash table;

[0072] In the above steps, the subsequent system can retrieve the address set only through keywords. In the individual status information data table, the individual status information is located at the end of the three-dimensional trajectory data. The three-dimensional trajectory data includes a three-dimensional coordinate sequence. The three-dimensional coordinate sequence is composed of three-dimensional coordinates arranged in time series. The three-dimensional coordinates on adjacent time series are normalized after difference processing to obtain the individual's speed direction.

[0073] Furthermore, the system also determines whether the number of individual numbers that have executed steps 3 to 7 is equal to the total number of individuals. If so, the next step is executed; otherwise, the individual numbers that have not executed steps 3 to 7 are substituted into steps 3 to 7.

[0074] Step 8: The system adds one to the current number of iterations to determine whether the current number of iterations is equal to the limit number of iterations. If not, iterate from step 3 to step 8. If yes, the system ends the process.

[0075] In the above steps, if the current number of iterations is not equal to the limit number of iterations, perform the following judgment: If the system judges that the current number of iterations is equal to 8, the cluster task is configured as Task1 and stored in the individual status information data table. If the system judges that the current number of iterations is equal to 13, the cluster task is configured as Task0 and stored in the individual status information data table. If the system judges that the current number of iterations is equal to 15, the cluster task is configured as Task2 and stored in the individual status information data table. After completing the above judgment, initialize the individual number and iterate step 3 to step 8.

[0076] Furthermore, if the system determines that the current number of iterations is equal to the limit number of iterations, the iteration is terminated.

[0077] The step 2 specifically includes:

[0078] The hash table includes a flight path data table, a dynamic obstacle data table, an individual state information table and an individual flight time data table;

[0079] The flight path data table (TabⅠ) stores the individual number and flight path data of the individual. The system uses the individual number as the keyword of the flight path data table, and the flight path data as the address set of the flight path data table. The address set of the flight path data table can be directly accessed according to the keyword of the path data table. The system uses the matrix format of Index×(SampInt·T)×(X,Y,Z) to represent the data format of the flight path data table, where Index is used to represent the individual number, (SampInt·T)×(X,Y,Z) is used to represent the flight path data, SampInt is used to represent the number of samplings per unit time in the time domain priority method, T is used to represent the individual flight time, and (X,Y,Z) is used to represent the individual position information at the corresponding system timestamp. The individual flight time refers to the flight time under the three-dimensional trajectory data generated by the individual at each iteration, and the individual flight time of the individual is the same at each iteration;

[0080] The dynamic obstacle data table (TabⅡ) stores the system timestamp and individual location information. The system uses the system timestamp (t) as the keyword of the dynamic obstacle data table and the individual location information as the address set of the dynamic obstacle data table. The address set of the dynamic obstacle data table can be directly accessed according to the keyword of the dynamic obstacle data table. The system uses the matrix format of t×(Index,X,Y,Z) to represent the data format of the dynamic obstacle data table, where t represents the system timestamp, Index represents the individual number, and (X,Y,Z) represents the three-axis coordinate data corresponding to the system timestamp.

[0081] The individual status information data table (TabⅢ) stores the individual number and individual status information. The system uses the individual number as the keyword of the individual status information data table, and the individual status information as the address set of the individual status information data table. The address set of the individual status information data table can be directly accessed according to the keyword of the individual status information data table. The system uses the matrix format of (v,0,0)×(Fx,Fy,Fz)×(X,Y,Z)×(Task,0,0) to represent the data format of the individual status information data table, where (v,0,0) is used to represent the speed of the individual, (Fx,Fy,Fz) is used to represent the speed direction of the individual, (X,Y,Z) is used to represent the position of the individual, and (Task,0,0) is used to represent the cluster task assigned to the individual.

[0082] The individual flight time data table (TabⅣ) stores the individual number and individual flight time (FltTime). The system uses the individual number as the keyword of the individual flight time data table and the individual flight time as the address set of the individual flight time data table. The address set of the individual flight time data table can be directly accessed according to the keyword of the individual flight time data table. The system uses the matrix format of Index×T to represent the data format of the individual flight time data table, where Index is used to represent the individual number and T is used to represent the individual flight time.

[0083] In the above steps, the system can directly obtain the flight path data, individual status information and individual flight time in the hash table according to the system timestamp and individual number, which further improves the speed of data search.

[0084] The step 3 specifically includes:

[0085] The system determines whether the current number of iterations is between 1-7 or between 13-15. If so, it assigns a regular task to the individual. If not, it determines whether the current number of iterations is between 8-12. If so, it assigns an aggregation task to the individual. If not, it determines whether the current number of iterations is between 15-20. If so, it assigns a diffusion task to the individual.

[0086] In the above steps, the scheduling method uses the system to determine the current number of iterations to adjust the individual cluster tasks, thereby realizing automatic adjustment of the individual cluster tasks. Within the limit number of iterations, the system can control all individuals to configure three different cluster tasks.

[0087] Furthermore, the system may pre-configure instructions for controlling individuals to perform cluster tasks, store the instructions for controlling individuals to perform cluster tasks in an individual status information data table, and directly obtain the cluster task instructions configured for the individuals through the individual numbers.

[0088] like Figure 2FIG. 5 is a flow chart of the time domain priority method and obstacle avoidance process of the present invention. The step 5 specifically includes:

[0089] Step 51: The system substitutes the starting state and the target state into the time domain priority method, wherein the starting state includes the starting position, starting speed magnitude and starting speed direction of the individual, and the starting position adopts L s Indicates that the starting speed is v s Indicates that the starting speed direction is The target state includes the target speed, target speed direction and target position. The target position is represented by L e express.

[0090] The system establishes the starting state and the target state in a two-dimensional coordinate system by a three-dimensional coordinate system rotation and translation method. The starting position in the starting state and the target position in the target state are located on the same plane. The X-axis of the two-dimensional coordinate system coincides with the starting speed direction in the starting state. The origin of the two-dimensional coordinate system is located at the starting position in the starting state.

[0091] In the above steps, the three-dimensional coordinate system rotation and translation method is obtained based on the coordinate transformation method, which can transform the position description of an individual in one coordinate system into the position description of an individual in another coordinate system.

[0092] Step 52: The system calculates the position sequence according to the following formula:

[0093]

[0094]

[0095] In the above formula, x is the coordinate position on the X-axis in the position sequence, y is the coordinate position on the Y-axis in the position sequence, t∈T, T is the flight time corresponding to the three-dimensional trajectory data, and v∈(v s , v e ), v s is the starting velocity, v e is the target speed, is the starting velocity direction, which is 0. The end point value of is the target state velocity direction, which is θ;

[0096] Substitute the position sequence and target state into the following objective function to calculate the minimum Euclidean distance:

[0097]

[0098] In the above formula, is the target position in the two-dimensional coordinate system, f(v e ,θ) is the Euclidean distance;

[0099] According to the fmincon function in Matlab, the target state is optimized to meet the minimum Euclidean distance;

[0100] In the above steps, the target speed is v e Indicates that the target speed direction is It means that the target speed magnitude and target speed direction are both established in a two-dimensional coordinate system. It represents the angle θ between the target velocity direction and the X-axis, and θ is limited to between -π and π. The fmincon function in Matlab refers to the program design function in the system. The optimization function fmincon here is a library function provided by Matlab, which is officially developed by Matlab.

[0101] Step 53: The system uses an equal-interval sampling method to convert the flight time T into a time series, and substitutes the time series, the initial state, and the optimized target state into the following formula to calculate the angle sequence, the velocity sequence number, and the two-dimensional trajectory data:

[0102]

[0103]

[0104] In the above formula, v is between the starting speed and the speed of the optimized target state. The starting value of v is the starting speed, and the end value of v is the speed of the optimized target state. Located between the starting speed direction and the optimized target state speed direction, The starting value is the starting velocity direction, The end point value is the speed direction of the optimized target state;

[0105] In the above steps, the flight time T refers to the time required for an individual to travel from the starting position to the target position, that is, the time of the individual under a single three-dimensional trajectory data. The time series is discrete, the angle series is also discrete, the speed series is also discrete, and the two-dimensional trajectory data includes two-dimensional position information, which is also discrete. The two-dimensional position information includes discrete x, y data point sets. The angle sequence is represented by θSet, the speed sequence is represented by V Set, and the two-dimensional trajectory data is represented by CordSet2D.

[0106] Step 54: The system converts the optimized two-dimensional trajectory data into three-dimensional trajectory data through a three-dimensional coordinate system rotation and translation method.

[0107] The step 6 specifically includes:

[0108] Step 61: Determine whether the cluster task configured by the individual is a regular task or a clustering task. If so, calculate the distance between individuals based on the position information of all individuals, and determine whether the distance between individuals is greater than the individual equilibrium distance. If not, generate obstacle avoidance position information outside the diffusion subspace, and use the obstacle avoidance position information to replace the position information of the corresponding individual. If so, retain the position information of the corresponding individual.

[0109] In the above steps, the location information of all individuals is located at the same system timestamp. The system uses a random number generation method to obtain the obstacle avoidance location information at this time, and ensures that the obstacle avoidance location information is not equal to the original location information of the individual, and ensures that the obstacle avoidance location information is outside the diffusion subspace. The distance between individuals is calculated one by one. Specifically, the system sets an individual to compare with other individuals to obtain the distance between the individual and the other individuals as the distance between individuals. If the distance between the individual and the other individuals is less than or equal to the individual equilibrium distance, the obstacle avoidance location information is generated to replace the location information of the individual.

[0110] Furthermore, if the system determines that the individually configured cluster task is not a regular task or an aggregate task, the next step is executed.

[0111] Before step 61, the method further includes step 60: the system calculates the individual flight time according to the current iteration number and the flight time, and sets the individual flight time as the start time of the three-dimensional trajectory data;

[0112] In the above steps, the system obtains the individual flight time from the individual flight time data table according to the order of the individual number. The flight time in the individual flight time data table uses absolute time, and the starting time under the current iteration number is 0. In order to obtain the corresponding data from the individual flight time data table, the time reference system is transformed to accurately obtain the corresponding flight time, thereby ensuring that the three-dimensional trajectory data generated during the iteration process are continuous.

[0113] Step 62: The system determines whether the cluster task configured by the individual is a diffusion task. If so, the distance between all individuals and the center of the diffusion subspace is calculated based on the position information and subspace information of all individuals, and determines whether the distance between all individuals and the center of the diffusion subspace is less than the radius of the diffusion subspace. If not, the position information of the individual is retained. If so, the obstacle avoidance position information outside the diffusion subspace is configured, and the obstacle avoidance position information is used to replace the position information of the corresponding individual.

[0114] In the above steps, the location information of all individuals is located under the same system timestamp. The system uses a random number generation method to obtain the obstacle avoidance location information at this time, and ensures that the obstacle avoidance location information is not equal to the original location information of the individual, and ensures that the obstacle avoidance location information is outside the diffusion subspace. Specifically, the system calculates the distance between all individuals and the center of the diffusion subspace one by one, and then determines whether the distance between the individual and the center of the diffusion subspace is less than the radius of the diffusion subspace. If so, the individual's location information is retained. Otherwise, the generated obstacle avoidance location information replaces the corresponding individual's location information.

[0115] In the above, the system calculates the distance between all individuals one by one and the center of the diffusion subspace, that is, to determine whether j is equal to the length of the three-dimensional trajectory data sequence SampInt*T. If so, step 7 is executed. If not, j is increased by one and step 62 is iterated.

[0116] Furthermore, if the system determines that the cluster task of the individual configuration is not a diffusion task, the next step is executed.

[0117] The above embodiments are only preferred embodiments of the present invention and are not intended to limit the protection scope of the present invention. Therefore, any equivalent changes made based on the structure, shape, and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A UAV cluster control method based on time domain priority strategy, characterized in that: The steps include: Step 1: The system configures the cluster attributes of individuals, where the cluster attributes include the total number of individuals, individual number, individual size, individual balance distance, individual acceleration upper limit, individual collision detection upper limit and limit iteration number; The system configures environmental information, wherein the environmental information includes airspace information and subspace information, the airspace represents the activity range of the individual, the subspace represents the area where the individual performs aggregation tasks and diffusion tasks, and the subspace includes aggregation subspace and diffusion subspace; Step 2: The system initializes the individual and the hash table. The hash table stores the individual's current iteration number, flight path data, dynamic obstacle data, individual status information, and individual flight time. The individual status information includes the individual's position, speed, speed direction, and cluster task. Step 3: The system configures cluster tasks and scheduling methods, and configures cluster tasks for individuals according to the scheduling methods. Cluster tasks include regular tasks, gathering tasks, and diffusion tasks. Regular tasks are random flight behaviors of individuals in the airspace, gathering tasks are flight behaviors of individuals gathering in the airspace, and diffusion tasks are behaviors of individuals flying in the airspace to avoid diffusion subspaces. Step 4: The system obtains the cluster task, determines whether the cluster task performed by the individual is a regular task, if so, configures the target state information in the airspace, otherwise, determines whether the cluster task performed by the individual is an aggregate task, if so, configures the target state information in the aggregate subspace, otherwise, determines whether the cluster task performed by the individual is a diffusion task, if so, configures the target state information outside the diffusion subspace, wherein the target state information includes the target speed size, target speed direction and target position of the individual; Step 5: The system configures the individual state information as the starting state, configures the target state information as the target state, substitutes the starting state and the target state into the time domain priority method to calculate and obtain the three-dimensional trajectory data; Step 6: The system determines whether there will be a collision between the individuals. If not, the 3D trajectory data is retained. If so, obstacle avoidance processing is performed on the 3D trajectory data. Step 7: The system stores the path trajectory data after the reserved or obstacle avoidance process into the hash table; Step 8: The system adds one to the current number of iterations and determines whether the current number of iterations is equal to the limit number of iterations. If not, iterates steps 3 to 8.

2. The method for controlling a drone cluster based on a time domain priority strategy according to claim 1, characterized in that: The step 2 specifically includes: The hash table includes a flight path data table, a dynamic obstacle data table, an individual state information table and an individual flight time data table; The flight path data table stores the individual number and flight path data of the individual. The system uses the individual number as the keyword of the flight path data table and the flight path data as the address set of the flight path data table. The address set of the flight path data table can be directly accessed according to the keyword of the path data table. The dynamic obstacle data table stores the system timestamp and individual location information. The system uses the system timestamp as the keyword of the dynamic obstacle data table and the individual location information as the address set of the dynamic obstacle data table. The address set of the dynamic obstacle data table can be directly accessed according to the keyword of the dynamic obstacle data table. The individual status information data table stores the individual number and the individual's initial state. The system uses the individual number as the keyword of the individual status information data table and the individual's initial state as the address set of the individual status information data table. The address set of the individual status information data table can be directly accessed according to the keyword of the individual status information data table. The individual flight time data table stores the individual number and the individual flight time. The system uses the individual number as the keyword of the individual flight time data table and the individual flight time as the address set of the individual flight time data table. The address set of the individual flight time data table can be directly accessed according to the keyword of the individual flight time data table.

3. The method for controlling a drone cluster based on a time domain priority strategy according to claim 1 is characterized in that: The step 3 specifically includes: The system determines whether the current number of iterations is between 1-7 or between 13-15. If so, the individual is controlled to perform a regular task. Otherwise, it determines whether the current number of iterations is between 8-12. If so, the individual is controlled to perform an aggregation task. Otherwise, it determines whether the current number of iterations is between 15-20. If so, the individual is controlled to perform a diffusion task.

4. The method for controlling a drone cluster based on a time domain priority strategy according to claim 1, characterized in that: The step 5 specifically includes: Step 51: The system establishes the starting state and the target state in a two-dimensional coordinate system through a three-dimensional coordinate system rotation and translation method, wherein the starting position in the starting state and the target position in the target state are located on the same plane, the X-axis of the two-dimensional coordinate system coincides with the starting velocity direction in the starting state, and the origin of the two-dimensional coordinate system is located at the starting position in the starting state, wherein the starting state includes the starting position, starting velocity magnitude, and starting velocity direction of the individual, and the target state includes the target position, target velocity magnitude, and target velocity direction of the individual; Step 52: The system calculates the position sequence according to the following formula: In the above formula, x is the coordinate position on the X-axis in the position sequence, y is the coordinate position on the Y-axis in the position sequence, t∈T, T is the flight time corresponding to the three-dimensional trajectory data, and v∈(v s , v e ), v s is the starting velocity, v e is the target speed, is the starting velocity direction, The end point value is the target state speed direction; Substitute the position sequence and target state into the following objective function to calculate the minimum Euclidean distance: In the above formula, is the target position in the two-dimensional coordinate system, f(v e ,θ) is the Euclidean distance; According to the fmincon function in Matlab, the target state is optimized to meet the minimum Euclidean distance; target state; Step 53: The system uses an equal-interval sampling method to convert the flight time T into a time series, and substitutes the time series, the starting speed magnitude, the starting speed direction, and the optimized target state into the following formula to reversely obtain the optimized two-dimensional trajectory data: In the above formula, the starting value of v is the starting speed, and the end value of v is the speed of the optimized target state. The starting value is the starting velocity direction, The end point value is the speed direction of the optimized target state; Step 54: The system converts the optimized two-dimensional trajectory data into three-dimensional trajectory data through a three-dimensional coordinate system rotation and translation method.

5. The method for controlling a drone cluster based on a time domain priority strategy according to claim 1, characterized in that: The airspace is represented by a rectangle, and the airspace information includes edge length.

6. The method for controlling a drone cluster based on a time domain priority strategy according to claim 1, characterized in that: The subspace is represented by a sphere, and the subspace information includes the center position of the subspace and the radius of the subspace.

7. The method for controlling a drone cluster based on a time domain priority strategy according to claim 5, characterized in that: The step 6 specifically includes: Step 61: The system determines whether the cluster task configured by the individual is a regular task or a clustering task. If so, the distance between the individuals is calculated based on the position information of all individuals, and whether the distance between the individuals is greater than the individual equilibrium distance is determined. If not, the obstacle avoidance position information located outside the diffusion subspace is generated, and the obstacle avoidance position information is used to replace the position information of the corresponding individual. If so, the position information of the corresponding individual is retained; Step 62: The system determines whether the cluster task configured by the individual is a diffusion task. If so, the system calculates the distance between all individuals and the center of the diffusion subspace based on the position information and subspace information of all individuals, and determines whether the distance between all individuals and the center of the diffusion subspace is less than the radius of the diffusion subspace. If not, the position information of the individual is retained. If so, the obstacle avoidance position information outside the diffusion subspace is configured, and the obstacle avoidance position information is used to replace the position information of the corresponding individual.

8. The method for controlling a drone cluster based on a time domain priority strategy according to claim 1, characterized in that: The step 6 further includes: The system stores the three-dimensional trajectory data after retention or obstacle avoidance processing in a hash table.

Citation Information

Patent Citations

  • Cluster super-maneuvering obstacle avoidance method for imitating pigeon group emergency obstacle avoidance mechanism

    CN110069075A

  • Control system based on multi-UAV (unmanned aerial vehicle) cooperative game confrontation

    CN111221352A