WO2022029158A1  A method for controlling a plurality of uavs  Google Patents
A method for controlling a plurality of uavs Download PDFInfo
 Publication number
 WO2022029158A1 WO2022029158A1 PCT/EP2021/071734 EP2021071734W WO2022029158A1 WO 2022029158 A1 WO2022029158 A1 WO 2022029158A1 EP 2021071734 W EP2021071734 W EP 2021071734W WO 2022029158 A1 WO2022029158 A1 WO 2022029158A1
 Authority
 WO
 WIPO (PCT)
 Prior art keywords
 uavs
 function
 trajectory
 determining
 uav
 Prior art date
Links
Classifications

 G—PHYSICS
 G05—CONTROLLING; REGULATING
 G05D—SYSTEMS FOR CONTROLLING OR REGULATING NONELECTRIC VARIABLES
 G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
 G05D1/10—Simultaneous control of position or course in three dimensions
 G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
 G05D1/104—Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying

 G—PHYSICS
 G05—CONTROLLING; REGULATING
 G05D—SYSTEMS FOR CONTROLLING OR REGULATING NONELECTRIC VARIABLES
 G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
 G05D1/0005—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with arrangements to save energy

 G—PHYSICS
 G08—SIGNALLING
 G08G—TRAFFIC CONTROL SYSTEMS
 G08G5/00—Traffic control systems for aircraft, e.g. airtraffic control [ATC]
 G08G5/0004—Transmission of trafficrelated information to or from an aircraft
 G08G5/0013—Transmission of trafficrelated information to or from an aircraft with a ground station

 G—PHYSICS
 G08—SIGNALLING
 G08G—TRAFFIC CONTROL SYSTEMS
 G08G5/00—Traffic control systems for aircraft, e.g. airtraffic control [ATC]
 G08G5/0017—Arrangements for implementing trafficrelated aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information
 G08G5/0026—Arrangements for implementing trafficrelated aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information located on the ground

 G—PHYSICS
 G08—SIGNALLING
 G08G—TRAFFIC CONTROL SYSTEMS
 G08G5/00—Traffic control systems for aircraft, e.g. airtraffic control [ATC]
 G08G5/0043—Traffic management of multiple aircrafts from the ground

 G—PHYSICS
 G08—SIGNALLING
 G08G—TRAFFIC CONTROL SYSTEMS
 G08G5/00—Traffic control systems for aircraft, e.g. airtraffic control [ATC]
 G08G5/0047—Navigation or guidance aids for a single aircraft
 G08G5/0069—Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft

 G—PHYSICS
 G08—SIGNALLING
 G08G—TRAFFIC CONTROL SYSTEMS
 G08G5/00—Traffic control systems for aircraft, e.g. airtraffic control [ATC]
 G08G5/04—Anticollision systems
 G08G5/045—Navigation or guidance aids, e.g. determination of anticollision manoeuvers
Abstract
The invention relates to a method for controlling a plurality of UAVs. The method comprises determining an initial trajectory function for each of the UAVs, and in one or more steps, for each step determining an adapted trajectory function for at least one of the plurality of UAVs based on the initial trajectory function or the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters based on determining a solution of a dynamic function so that the solution approaches an optimal solution of the dynamic function subject to one or more constraints, and configuring the plurality of UAVs with the adapted trajectory functions determined in a final step so as to follow the adapted trajectory function at least for the period.
Description
A METHOD FOR CONTROLLING A PLURALITY OF UAVs
FIELD OF THE INVENTION
The invention relates to flight control of a plurality of UAVs, such as coordination of a plurality of UAVs.
BACKGROUND OF THE INVENTION
Autonomous UAVs can be used for inspection tasks, surveillance, reconnaissance, search and rescue operations, delivery services and many other purposes. Some of these operations can benefit from use of a plurality of autonomous UAVs. However, configurations with a plurality of UAVs puts further challenges to autonomous control methods used for achieving autonomous flight of the UAVs.
US 8,639,396 Bl discloses a method for multi UAV coordination which includes accessing first target information associated with a first target visible to a first UAV at a first time and accessing second target information, received from a neighboring UAV, associated with a second target visible to the neighboring UAV at the first time. The method further includes combining the first target information and the second target information to generate combined target information and determining, based on the combined target information, a predicted location for the first and second targets at a second time. The method further includes determining a planned route for the first UAV for the second time by solving an optimization problem, the optimization problem accounting for the determined predicted location for the first and second targets, kinematic constraints associated with the first UAV and the neighboring UAV, and lineof sight constraints associated with the first UAV and the neighboring UAV.
Whereas US 8,639,396 Bl addresses some aspects of multiUAV control, the inventors have realized that other aspects of multiUAV control still need to be improved and have therefore devised the present improvements.
SUMMARY OF THE INVENTION
It is an object of the invention to improve methods for performing autonomous flight of the UAVs, such as improving flight ranges, degree of autonomous
performance, utilization of data from cooperating UAVs such using data for improving multiUAV flight.
In an first aspect of the invention there is provided a method for controlling a plurality of UAVs which comprises
 providing a trajectory function r(t) describing future positions of any one of the UAVs as a function of time within a prediction period, wherein the positions depend on parameters of the trajectory function,
 providing a dynamic function being a function of a derivative of the positions, optionally the derivative of an orientation, of any one of the UAVs, wherein the dynamic function being subject to a constraint defines an optimization problem, and wherein,
 the constraint comprises at least a distance constraint for distances between at least two of the plurality of UAVs defined as a function of the future positions of the UAVs,
associating priorities (p) to the plurality of UAVs,
 in one or more steps (j), for each step determining an adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs, i.e. previously determined adapted trajectory functions comprising previously determined adapted trajectory functions of one or more higher prioritized UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint,
 configuring the plurality of UAVs with the adapted trajectory functions determined in a final step so as to follow the adapted trajectory function at least for the period.
Since the constraint is defined as a function of the future positions of the UAVs, the constraint may be adapted dependent on the environment, e.g. dependent on obstacles and other conditions of the environment of the planned flying path.
Advantageously, by determining the adapted trajectory function r(t) for each of the UAVs in succession of the priorities as specified, the computation method guarantees or at least improves convergence and convergence speed of the computation of adapted trajectories.
Advantageously, by executing the adapted trajectory functions only after the final step, it is ensured than nonoptimal or incomplete trajectories are not executed.
Advantageously, since the determination of the adapted trajectory function r(t) for one of the UAVs such as for a first UAV is based on the adapted trajectory function of the previous step of said first UAV and at least some of the other UAVs, such as the second and third UAVs, the determination of the adapted trajectory for the first UAV, as well as for the second and third UAVs, takes into account the sofar determined trajectory adaptations within each iteration step.
Due to the sharing of adapted trajectories of other UAVs, the finally determined adaptations of the trajectory functions may lead to improved flight ranges and improved autonomous flight performance, particularly when multiple UAVs operate near each other.
According to an embodiment, for each of the steps, the adapted trajectory function of a higher prioritized UAV is transmitted to one or more lower prioritized UAVs, prior to determining the adapted trajectory function of the lower prioritized UAV.
The adapted trajectory functions may be transmitted via a communication network. Advantageously, by transmitting only to lower prioritized UAVs, lower bandwidth is required since the number transmission processes are reduced.
Additionally, the adapted trajectory function of the previous step of at least some of the other UAVs may be transmitted via a communication network such as a WiFi network. For example, the adapted trajectory of the lowest prioritized UAV of the previous iteration step may be transmitted to the highest prioritized UAV initially in the present iteration step. Thus, by broadcasting adaptation results for each iteration step, the accuracy of the determined flying paths may be improved
as well as being adapted to possible obstacles being detected by one or more UAVs.
According to an embodiment, the method further comprises
 in a first of the one or more steps, determining an initial trajectory function r(t)[j=O] for each of the UAVs, and
 for each of the steps, such as steps succeeding the first step, determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the initial trajectory function or the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
According to an embodiment, the distance constraint specifies a minimum distance and a maximum distance between at least two of the plurality of UAVs.
Advantageously, by setting the distance constraint as a range of allowed distances, the adapted trajectory can be determined to take into account obstacles in the flying path. The minimum distance ensure a safe flying distance, while the maximum distance ensures communication between the UAVs.
Alternatively, the distance constraint may specify only a maximum distance between at least two of the plurality of UAVs.
Additionally or alternatively, the distance constraint may comprise a minimum distance and a maximum distance, such as a range of allowed distances, between a given UAV and an obstacle in order to determine adapted trajectories enabling the UAVs to pass the obstacle in an optimal way.
According to an embodiment, the initial trajectory function defines future positions and associated times to be met by each of the UAVs. Accordingly, the initial trajectory function defines an initially determined path for the UAVs which is used for determining the further adaptations of the flying paths, i.e. trajectory functions.
According to an embodiment, the determination of the adapted trajectory function r(t) is performed locally on the UAVs for which the adapted trajectory function is
determined. Advantageously, each or at least some of the UAVs are configured with data processing capabilities so that the adaptations of the flying paths can be determined locally instead of requiring bandwidth and transmission time for communicating data to and from a centrally located data processor.
According to an embodiment, the determination of the adapted trajectory function r(t) in one or more steps are continued until a constraint is satisfied or until a computation time has lapsed. Advantageously, there is insufficient time, a non optimal flying path can be used for the future flying paths.
According to an embodiment, the method further comprises
 after a solution to the adapted trajectory function r(t) for at least one of the plurality of UAVs has been determined, where the solution satisfies the constraint,
 continue with performing one or more further steps, wherein each step comprises determining the adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs , wherein the adaptation of the trajectory functions comprises determining the parameters based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint,
 stop performing more steps, when the solution of the dynamic function satisfies a stop criteria.
Advantageously, if there is sufficient time, e.g. sufficient time provided by pausing or slowing down the flight, an optimal solution to the flying paths may be determined.
Additionally or alternatively, each step may comprise determining the adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
According to another embodiment, the constraint comprises a time constraint specifying a time slot. Advantageously, a time slot may be specified as a constraint, e.g. for planning a future period of time to be used for various purposes, such a data communication, surveillance tasks, and other tasks performed by the UAVs.
According to an embodiment, the constraint comprises a data communication constraint which restricts or prohibits data communication between at least some of the plurality of UAVs. The bandwidth capabilities e.g. for broadcasting data between UAVs may be known, e.g. in the form of a heat map of bandwidth capabilities or a connectivity matrix. Thus, in areas of low bandwidth capability, the UAVs may be prohibited, at least partially, from sharing data. Thus, the adapted trajectories may be determined to take such communication restrictions into account.
According to an embodiment, the method comprises
 determining if any of the plurality of UAVs are not able to determine or transmit the adapted trajectory functions to the other UAVs, and
 predicting future locations of the UAVs which are not able to determine or transmit the adapted trajectory functions,
 wherein the determination of the adapted trajectory function r(t) for at least one of the plurality of UAVs is further based on the predicted future locations. Advantageously, in case where one or more UAVs are not capable of transmitting their adapted trajectory functions, the determination of the adapted trajectories for other UAVs may be based on predicted future locations of the UAVs which are not capable of transmitting the adapted trajectory functions instead of broadcasted trajectory functions. The predictions may be based on e.g. image data from perception systems of one or more of the UAVs which are capable of broadcasting data, or based only on data from perception system of the UAV which also determines the adapted trajectory functions.
According to an embodiment, the method comprises the step of
 after lapse of the period, repeat the step of determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted
trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
According to an embodiment, an execution of the adapted trajectory function of one or more of the UAVs as configured, is stopped and operation of the one or more UAVs is continued based on data obtained from a perception system of the one or more UAVs.
According to an embodiment, the method comprises monitoring a security condition, such as a safe distance to obstacles, wherein the stop of the operation of the one or more UAVs is executed based on the security condition.
Advantageously, by shifting to a planned trajectory based flight to a flight based on real time monitored data such as image or distance data, unexpected obstacles can, i.e. obstacles which were not taken into account in the determination of the adapted trajectory functions, can be handled so that secure flight can be continued based on the perception system until the flight can be continued based on the adapted trajectory functions.
A second aspect of the invention relates to a calculation system for a plurality of UAVs arranged to perform the method of the first aspect.
A third aspect of the invention relates to a computer program product comprising software code adapted to control a UAV when executed on a data processing system, the computer program product being adapted to perform the method of the first aspect.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will be described, by way of example only, with reference to the drawings, in which
Fig. 1A illustrates a flight task to be performed by a plurality of UAVs, Fig. IB shows the system for multiUAV coordination,
Fig. 2 shows a flow chart for operating a plurality of UAVs, and
73078PC01 8 Fig. 3 a flow chart for operating a plurality of UAVs further based on perception data. DETAILED DESCRIPTION 5 Fig. 1A illustrates a flight task to be performed by a plurality of UAVs 101, and principally illustrates a solution according to an embodiment of the invention. The abbreviation UAV refers to Unmanned Aerial Vehicles also known as drones. The UAV 101 may be any unmanned aerial vehicle, also known as an unmanned 10 aerial vehicle or a UAV, i.e. an air craft, e.g. a small sized air craft, without a human pilot aboard. The UAV may additionally have capabilities for moving on ground typically, e.g. means of wheels or belts. Two UAVs 101 have starting or initial locations A1 and A2, which may be ground 15 locations or air locations. The flight task defines that the UAVs must fly from the initial locations A1, A2 to the target location D. According to this example, the flight task further defines intermediate locations B and C and an obstacle 110 such as a tunnel, corridor or fence, i.e. an obstacle 110 that must be passed with sufficient clearance to the obstacle 110. 20 The initial, target and intermediate locations may be defined by one or more coordinates in space, or on ground, or as a volume or area in space or on ground. According to an embodiment, one or more adapted trajectory functions r(t) are determined for each UAV to perform the flight from the initial location A1, A2 to 25 the target location D. In general a plurality of adapted trajectory functions r(t) are determined, where each adapted trajectory function r(t) describes a fraction of the flight path from the initial location A1, A2 to the target D, such as fractions defining flight paths 30 between locations A1, B, C, D. Each adapted trajectory function r(t) has an associated time horizon T1, T2, T3, defining a time constraint for to be met for flying the trajectory defined by the adapted trajectory function r(t), or defining a time target which need not 35 necessarily be met with high accuracy.
The time horizons Tl, T2, T3 may be determined according to a desired time for flying a distance, speed limitations of UAVs or the environment surrounding the flight path, communication limitations for transmitting data between UAVs.
The period of the time horizons Tl, T2, T3 are commonly defined as a prediction period T which may be different for each time horizon and defines the periods T of the adapted trajectory functions r(t). Each time horizon Tl, T2, T3 may be different for different UAVs 101.
For example, UAV 101 may be required to be at location B at t=Tl, at location C at t=T2, etc.
Before the UAVs take off from the initial locations Al, A2, the adapted trajectory functions r(t) are determined for each UAV 101. After determination of these, the adapted trajectory functions r(t) are executed by each UAV. Adapted trajectory functions r(t) for the following fractions of the flight path to the target location D, may be determined during the execution of the previous trajectory function r(t) so that they are finally determined shortly before the UAVs reach the location B, or shortly before the first time horizon expires.
Thus, at time t=TlAt, the adapted trajectory functions r(t) for the flight from B to C may be determined, where At represents a minimal buffer time between the completion of determining adapted trajectory functions and the start of the next time horizon.
The initial trajectory functions r(t) for the initial fraction AlB, A2B of the flight path from the initial location Al, A2 may be determined based on a first nonoptimized determination of a possible flight path which brings the UAVs from Al, A2 to B while avoiding known obstacles.
The following adapted trajectory functions for flying the following fraction BC of the flight path, may be based on the adapted trajectory functions r(t) used for the execution of the previous fractions of the flight path AlB, A2B (together with the broadcasted trajectory functions of other cooperating UAVs for the following fraction BC) or an extrapolation thereof, or may be based on initial adapted
trajectory functions r(t) for the fraction BC of the flight path, or a combination thereof.
For example, the trajectory functions r(t) used for the execution of the previous fractions of the flight path AlB, A2B provides the starting points for the following adapted trajectory for the following fraction BC of the flight path, where the first iteration of determining the adapted trajectory functions r(t) for the following adapted trajectory may be determined based on said starting points, the desired intermediate location C and other known constraints such as the physical constraints defined by obstacles 110.
The determination of the initial adapted trajectory functions for the following fraction BC may further be determined based on conditions of short moving distance and minimum changes of the velocity during the flight of that fraction.
Equation 1 below is an example of a piecewise polynomial trajectory function δT(t) which is formed based on a combination of piecewise polynomial functions t^p of order np over nw subperiods of the prediction period T, where parameters Φ p,w are coefficients of each term t^p. This examples refers to Φ p,w, but in general embodiments may be based on other parameters Φ
Each coordinate x,y,z of the initial and adapted trajectory functions r(t) are determined from the polynomial trajectory function δT(t), i.e. so that the x component of r(t) is given by one set of parameters Φ p,w, the y component of r(t) is given by another set of parameters Φ p,w, etc. The maximum of index p is np, and the maximum of index w is nw.
Accordingly, the trajectory function r(t) may be based on the above polynomial trajectory function δT(t), so that the trajectory function r(t) describes future positions x,y,z of any one of the UAVs 101 as a function of time t within a
prediction period T, and where the positions x,y,z depend on parameters Φ of the trajectory function r(t). Clearly, the trajectory function r(t) may be based on other linear or nonlinear polynomial trajectory functions.
It is noted that although the prediction period T normally constitutes a fraction of the time for flying from the initial locations Al, A2 to the target location D, it is also possible that prediction period T constitutes the entire period for flying from the initial locations Al, A2 to the target location D. Similarly, the entire flight path from the initial location Al, A2 to the target location D may be described by a single adapted trajectory function r(t), instead of a plurality of adapted trajectory functions r(t) for different time horizons Tl, T2, T3.
The UAV has limitations with respect to dynamic capabilities such as acceleration limitations in the x, y and z directions and in rotational directions such as yaw rotations, i.e. rotations about a center axis of the UAV which is parallel with the rotor axis of the one or more rotors, roll and pitch rotations.
Accordingly, the adapted trajectory functions r(t) is determined by solving an optimization problem which includes the dynamic function which is a function of a time derivative of the positions x,y,z, and optionally the derivative of an orientation ψ , such as the yaw, of any one of the UAVs 101.
Equation 2 below is an example of a dynamic function included in a optimization problem, i.e. the solution to the adapted trajectory functions r(t) is a solution which minimizes or maximizes the optimization problem, or partially minimizes/optimizes the optimization problem. In this example, the optimized solution minimizes the optimization problem.
ur and uψ are constant parameters that make the function dimensionless, i.e. independent of any particular unit, such as distance and time.
According to this example, equation 2 determines the 4th derivative of the position vector r(t), i.e. the trajectory function r(t), and the 2nd derivative of the orientation Ψ (t). The determined adapted trajectory function r(t) and the determined orientation (t)) are used for determining the control input to the UAV 101, i.e. control signals for controlling e.g. direction in 3D, UAV orientation, speed and acceleration.
Thus, the optimization problem generates an adapted trajectory r(t) that minimizes the integral of the 4th derivative of the position vector r(t) squared and the 2nd derivative of the orientation i (t), here yaw angle, squared.
The dynamic function is required in order to determine an adapted trajectory function r(t), which converts into an applicable, efficient and smooth control of the UAV 101, i.e. a control that satisfies the dynamic capabilities of the UAV.
The determination of the adapted trajectory function r(t) which minimizes the optimization problem is subject to one or more constraints.
The one or more constraints comprise at least a distance constraint for distances between two or more of the UAVs 101 which is defined as a function of the future positions x,y,z of the adapted trajectory functions r(t) of the UAVs 101.
Other constraints may define distance requirements to obstacles 110.
The one or more constraints may also include a mobility limitation of the one or more UAVs, e.g. a maximum speed and a maximum thrust.
The distance constraint may specify a maximum distance between at least two of the plurality of UAVs 101, e.g. a maximum distance which should not be exceeded during a given period of time or during a fraction of the flight path. For example, the constraint on a maximum distance may be used for maintaining a data communication link between UAVs for a certain period of time, e.g. to ensure a high data communication quality.
The one or more constraints may also include time constraints specifying a time slot. For example, a given time slot may be specified where transmission of data from a UAV is requested.
Similarly, the one or more constraints may include location constraint, such as a position, path range, or area a given position, specifying that the UAV should be at that location, e.g. at a given time or period of time, e.g. for the purpose of planning transmission of data from a UAV at that location.
Equation 3 is an example of a safe distance constraint defined for each UAV over the flying time, e.g. the time of one of the time horizons Tl, T2, T3.
Equation 3 defines that the distance at any time tk between UAV number i and UAV number j must be greater than drij. Optionally, the distance requirement may depend on the direction of the vector of difference of the two position vectors riT, rjT of equation 3. In this case, equation 3 defines that the distance at any time tk from UAV number i to UAV number j must be greater than drij. That is, drij is possible not the same as drji which may be the case when the sizes of UAV number i and UAV number j are different. A larger UAV usually can handle a shorter distance.
The distance constraint may specify a range of allowed distances for distances between two or more of the UAVs 101 as a function of the future positions of the trajectory functions r(t) of the UAVs 101. For example, the distance constraint may specify the above mentioned maximum distance between at least two of the plurality of UAVs 101 and a minimum distance (safe distance) such as the above mentioned minimum distance drij.
For example, the optimization problem may be written in the form of Mixed Integer Quadratic Programming (MIQP), and the distance constraint may be solved by rewriting Equation 3 to 4 orrelations, respectively, for xi, xj, yi and yj. For convenience, the example is illustrated in 2D, but is straightforwardly
formulated in 3D. The or relations are converted to andrelations by involving binary variables as follows:
where M is a large positive number, bkn, is a binary variable.
The algorithm below shows an example for solving the optimization problem.
1 I. Initialization:
δT(t) [j] is the polynomial trajectory function for UAV number p, where j is the iteration number of the sequential solution to the optimization problem. The UAV number p may represent a prioritization number of the UAVs.
The prioritization numbers p may be predetermined prioritization numbers, e.g. determined and set in the initialization step.
Part II defines that for one or more steps j, each step comprises determining an adapted polynomial trajectory function δT(t) [j] for at least one of the plurality of UAVs 101.
In the first iteration, the polynomial trajectory function δT(t) [j = 1] is determined based on the initial polynomial trajectory function δT(t) [j=0] in line 6.
In line 7, the determined trajectory function δT(t) [j = 1] is broadcasted to other UAVs, such as all or a fraction of the other UAVs.
The iteration continues at least as long as the determined polynomial trajectory function of the UAVs (opT refers to the actually processed UAV and opT refers to the other UAVs) does not satisfy the constraints as expressed by ξ , where defines the space that satisfy the constraints.
In the next and following iterations for j> 1, the polynomial trajectory function δT(t) [j= 1] is determined based on the polynomial trajectory function δT(t) [j] of the previous step of the respective UAV and the polynomial trajectory functions δT(t) [j] of at least some of the other UAVs 101.
Since the determined adapted polynomial trajectory function δT(t) [j] is broadcasted for each step, and the broadcasted polynomial trajectory functions δT(t) [j] of other UAVs is used in each step for determining the adapted polynomial trajectory function δT(t) [j] of a given UAV, the solution to the trajectory of each UAVs takes into account the adapted trajectories of other UAVs. This represent a significant advantage of the method.
Since the UAVs determines the adapted trajectory functions in order of the predetermined priorities p, and similarly broadcasts the determined adapted trajectory function in the same order to lower prioritized drones, improves the computation so that convergence of the solution to the optimization problem is guaranteed and possibly faster as compared to a more random processing of the adapted trajectory functions where the order of the determination and broadcasting of the adapted trajectory functions is not predetermined or is random.
The broadcasting of the adapted trajectory functions may be performed so that the adapted trajectory function determined for the higher prioritized UAV, e.g. the UAV with priority p= l, is broadcasted to all lower prioritized UAVs, or at least a fraction of the lower prioritized UAVs. Subsequently, the UAV with the next highest priority, e.g. the UAV with priority p=2, determines its adapted trajectory and broadcasts to one or more of the lower prioritized UAVs. The process ends when the lowest prioritized UAV determines its adapted trajectory. The process then continues in the same way with the next iteration j=j+ 1. In the next iteration, e.g. j = 2, the adapted trajectory functions, including the adapted trajectory function for the highest prioritized UAV with priority p= l, may be determined based on adapted trajectory functions determined in one or more previous iterations.
The broadcasting of the adapted trajectory function to lower prioritized drones may be performed so that one UAV broadcasts to the one or more lower prioritized UAVs at one time or in one operation. Alternatively, the adapted trajectory function may be broadcasted to lower prioritized UAVs in a peertopeer process where the adapted trajectory function for a higher prioritized UAV (with priority p) is broadcasted from the higher prioritized UAV (with priority p) to one lower prioritized UAV (with priority p1). The lower prioritized UAV (with priority p1) broadcasts the adapted trajectory function for the higher prioritized UAV (with priority p), to the still lower prioritized UAV (with priority p2). The peerto peer broadcasting method may be advantageous in that it requires a lower broadcasting distance and thereby lower signal strength of the broadcasting signal.
The determination of the adapted polynomial trajectory functions δT(t) [j] comprises determining the parameters Φ of the polynomial trajectory functions based on determining a solution of the dynamic function (eq. 2) so that the solution approaches the optimal solution of the dynamic function and so that the adapted solution approaches the one or more constraints (eq. 3).
The example explained with reference to the algorithm determines the adapted polynomial trajectory functions δT(t) [j], which is equivalent to determining the adapted trajectory functions r(t)[j] . According, the polynomial trajectory functions δT(t) [j] in the algorithm can be replaced with the adapted trajectory functions r(t)[j].
The iterations in part II of the algorithm may be stopped at any iteration j, e.g. if there is no longer time for computing further iterations of the optimization, or the algorithm stops as soon as the one or more constraints are satisfied.
Part III of the algorithm is a further optional optimization of the algorithm. Part III determines the same optimization of the polynomial trajectory function δT(t) [j] in line 14 as in line 6. However, the optimization continues until the difference between the value of the optimization problem, e.g. the value of the time integral in eq. 1, of the present iteration step j and the previous iteration step j1, is greater than the threshold ∈.
Accordingly, after a solution to the adapted trajectory function r(t) has been determined, e.g. according to part II of the algorithm, the optimization of the adapted trajectory function r(t) may continue, e.g. according to part III of the algorithm, by optimizing the trajectory function in one or more iteration steps j, wherein each step comprises determining the adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters Φ based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function while the adapted solution satisfies the constraint. The further optimization may be stopped
when the solution of the dynamic function satisfies a stop criteria, e.g. when further reductions of the optimization function becomes less than the threshold
∈.
After the adapted polynomial trajectory functions δT(t) [j] have been determined for the UAVs 101, and thereby the adapted trajectory functions r(t), each UAV is configured with adapted trajectory functions r(t), or data determined therefrom, so that the control signal or control data can be determined for each UAV for controlling each UAV to fly according to the adapted trajectory function r(t) at least for the current time horizon Tl, T2, T3.
The UAVs 101 may be configured with computer processing capabilities so that each UAV is capable of determining the adapted trajectory function r(t) locally by use of the UAVs computer processing capabilities and adapted trajectory functions r(t) transmitted from other UAVs via a communication network 190.
Alternatively, the adapted trajectory functions r(t) of one or more of the UAVs may be determined centrally by use of a centrally located computer processing capability 191.
Accordingly, the UAVs 101, optionally the centrally located computer processing capability 191, comprises communication functions such as radio transmitters and receivers capable of transmitting and receiving digital data.
The transmission of data from one UAV to another may be performed directly or via a central transmission/receiver relay 192.
Fig. IB shows the system 100 for multiUAV coordination. A plurality of UAVs 101, optionally a computer processing unit 191 and optionally a transmission/receiver relay 192 are wirelessly connected via a communication network 190.
The system 100 comprises a calculation system 170 for determining the adapted trajectory functions r(t) for each of the cooperating UAVs 101. The calculation system 170 may comprise distributed calculation units such as the distributed
calculation units of the UAVs, or the calculation unit 170 may comprise a central calculation unit such as the computer processing unit 191. The system 100 further comprises UAV control systems 180, which may be constituted by distributed UAV control systems 180, one for each UAV 101. The UAV control system 180 determines the control input 181 for controlling the UAV to follow the adapted trajectory functions r(t).
Fig. 2 shows a flow chart which illustrates method steps for operating a plurality of UAVs and for determining the adapted trajectory function r(t) of a plurality of UAVs 101.
The method may start with verifying the presence of a plurality of UAVs in step 201 and evaluate if the UAVs need to cooperate in step 202, e.g. if their flying paths need to be determined by determining adapted trajectory functions r(t) for the UAVs.
In step 203 it is checked if the UAVs are able to cooperate. Cooperation comprises sharing the flying plans of the UAVs such as the determined adapted trajectory functions r(t). For example, if one of the UAVs is not able to receive or transmit data from/to other UAVs, or is not able to determine its adapted trajectory function r(t), the UAV is not capable of cooperating.
The flight of the noncooperating UAV may be controlled in other ways e.g. based on the UAVs vision and localization detectors. In this situation the other UAVs may still have to include the noncooperating UAV in the determination of their adapted trajectory functions r(t). This may be achieved in step 204 by predicting the motion of the noncooperating UAV and including the predicted motion in the determination of the adapted trajectory functions r(t). That is, the trajectory functions r(t) for a noncooperating UAV can be replaced with the predicted motion r_pred(t).
The determination of the predicted motion of a noncooperating UAV may be performed by other UAVs, e.g. by surveillance or perception systems such as imaging, radar or Lidar systems. Clearly, the predicted motion may only be accurate for a limited future time horizon. Accordingly, in order to account for the
limited accuracy, the time horizons Tl, T2, T3 may be changed to have a shorter duration.
Fig. 3 shows an example of additional steps 301303 for estimating motion of noncooperating UAVs. The other steps in Fig. 3 are identical to those of Fig. 2.
In step 301, the noncooperating UAVs are recognized and their current positions are determined, e.g. by use of the surveillance systems of other UAVs, such as onboard sensors, e.g. vision or radar sensors, of other UAVs. By use of said surveillance systems, the motion of the noncooperating UAVs are monitored for a period of time in step 302. Based on the position and motion data obtained from the surveillance systems, an estimate of the future motion of the noncooperating UAVs are determined in step 303, and the estimates are used in step 207 for determining the adapted trajectory functions r(t) for the other cooperating UAVs 101.
Alternatively, the noncooperating UAVs 100 may themselves be able to determine their current positions, and/or to estimate their future motion and to transmit the associated data to the other cooperating UAVs or a central processing unit 191 so that the adapted trajectory functions r(t) can be determined.
Accordingly, the method may include the steps of 1) determining if any of the plurality of UAVs 101 are not able to determine or transmit the adapted trajectory functions to the other UAVs, and if this is the case, 2) predicting future locations x,y,z of the one or more noncooperating UAVs, and 3) determining adapted trajectory functions r(t) for the one or more UAVs 101 based on the predicted future locations x,y,z.
Optionally, the cooperating UAVs may be given priorities in step 205, which may be used in step 206 for determining the order in which the adapted trajectory functions r(t) are determined, or for assigning UAV numbers p to the UAVs.
In step 207, a first iteration (j = 1) is performed for determining the adapted trajectory function r(t) for the highest prioritized UAV 101, i.e. UAV number p, e.g. according to part II of the algorithm.
The nested loops for determining the adapted trajectory functions r(t) for each participating UAV p runs as follows:
For j<Jstop, j=j + 1
For p<Ptot, p=p+l
End loop
End loop
Jstop may be an arbitrary number and Ptot is the number of participating UAVs.
I step 208, if there are lower prioritized UAVs, the update of the adapted trajectory function r(t) determined in this iteration is broadcasted to other lower prioritized UAVs. By only broadcasting to lower prioritized UAVs, wireless communication resources are saved so as to improve the communication quality.
In the present iteration j the adapted trajectory function r(t) is determined for all other lower prioritized UAVs.
Thus, for each iteration, the sofar determined adaptation of the trajectory function is provided to other UAVs, at least lower prioritized UAVs, so that further iterations of determining adapted trajectory functions r(t) include the previously determined adapted trajectory functions r(t).
In other words, the nested loops for determining the adapted trajectory functions r(t) for each participating UAV p runs as follows:
For j<Jstop, j=j + 1
For p<Ptot, p=p+l
Calculate trajectory for UAV p (e.g. r_p(t) is determined based on trajectories from higher prioritized UAVs, such as r_pl(t), r_p2(t), etc.) Share with UAVs of lower priority p End loop
End loop
Thus, in one iteration j, each UAV p, one by one, will share its trajectory to lower prioritized UAVs.
In step 209 it is checked if a feasible solution is found, i.e. if the determined adapted trajectory functions r(t) satisfy all of the one or more constraints. If this is not the case, it is checked in step 210 if further iterations are allowed, e.g. due to time constraints which may be set if the adapted trajectory functions r(t) are determined during flight to ensure that iterations have been stopped before entering the following time horizon T2.
The iterations for determining adapted trajectory functions r(t) may continue in steps 207, 208, 211 if further iterations are allowed in step 210, otherwise, the iterations are completed and the determined adapted trajectory functions r(t) are executed by the UAVs (step 215), which involves determination of control input to the UAV during the flight.
Since a feasible solution was not found, then, for example, if a part of the adapted trajectory functions r(t) for one or more UAVs 101 does not satisfy the constraints, the flight may be continued based on other strategies, e.g. based on the UAVs own surveillance or perception systems.
For example, such other strategies may comprise safety rules, such as safety distance to obstacles, which are checked in realtime during the flight. For example, if a UAV suddenly notices that the next step of executing the adapted trajectory function r(t) violates the safety rules, the UAV may be programmed to switch from executing the predetermined adapted trajectory function r(t) to a quick and safetyguaranteed procedure, e.g. based on continuously measured distances to obstacles. An example of a safety response could be: switch the moving direction as long as the obstacles/other UAVs are too close.
Similarly, if the determined adapted trajectory functions r(t) satisfies the one or more constraints in step 209, it is checked in step 212 if further iterations are allowed, as in step 210, or if further improvements of the adaptations of the trajectories r(t) are wanted. If not, the adapted trajectory functions r(t) are executed in step 213.
Claims
1. A method for controlling a plurality of UAVs, the method comprises
 providing a trajectory function r(t) describing future positions (x,y,z) of any one of the UAVs as a function of time (t) within a prediction period (T), wherein the positions (x,y,z) depend on parameters (Φ) of the trajectory function,
 providing a dynamic function being a function of a derivative of the positions (x,y,z), optionally the derivative of an orientation (ψ ), of any one of the UAVs, wherein the dynamic function being subject to a constraint defines an optimization problem, wherein,
 the constraint comprises at least a distance constraint for distances between at least two of the plurality of UAVs defined as a function of the future positions (x,y,z) of the UAVs,
 associating priorities (p) to the plurality of UAVs,
 in one or more steps (j), for each step determining an adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters (Φ) based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint, and
 configuring the plurality of UAVs with the adapted trajectory functions r(t) determined in a final step (j) so as to follow the adapted trajectory function at least for the period (T).
2. A method according to claim 1, wherein for each of the steps (j), the adapted trajectory function of a higher prioritized UAV is transmitted to one or more lower prioritized UAVs, prior to determining the adapted trajectory function of the lower prioritized UAV.
3. A method according to any of the preceding claims, further comprising,
 in a first of the one or more steps (j), determining an initial trajectory function r(t)[j=0] for each of the UAVs, and
 for each of the steps (j), determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the initial trajectory function or the
adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
4. A method according to any of the preceding claims, wherein the distance constraint specifies a minimum distance and a maximum distance between at least two of the plurality of UAVs.
5. A method according to any of the preceding claims, wherein the initial trajectory function defines future positions (x,y,z) and associated times (tk) to be met by each of the UAVs.
6. A method according to any of the preceding claims, wherein the determination of the adapted trajectory function r(t) is performed locally on the UAVs for which the adapted trajectory function is determined.
7. A method according to any of the preceding claims, wherein the determination of the adapted trajectory function r(t) in one or more steps (j) are continued until the constraint is satisfied or until a computation time (Teal) has lapsed.
8. A method according to any of the preceding claims, wherein
 after a solution to the adapted trajectory function r(t) for at least one of the plurality of UAVs has been determined, where the solution satisfies the constraint,
 continue with performing one or more further steps (j), wherein each step comprises determining the adapted trajectory function r(t) for each of the UAVs in succession of the priorities, and for priorities lower than the highest priority, determining the adapted trajectory function r(t) based on adapted trajectory functions comprising adapted trajectory functions of one or more higher prioritized UAVs, wherein the adaptation of the trajectory functions comprises determining the parameters (Φ) based on determining a solution of the dynamic function so that the solution approaches the optimal solution of the dynamic function subject to the constraint, and
 stop performing more steps, when the solution of the dynamic function satisfies a stop criteria.
9. A method according to any of the preceding claims, wherein the constraint comprises time constraints specifying a time slot.
10. A method according to any of the preceding claims, wherein the constraint comprises a data communication constraint which restricts or prohibits data communication between at least some of the plurality of UAVs.
11. A method according to any of the preceding claims, comprising
 determining if any of the plurality of UAVs are not able to determine or transmit the adapted trajectory functions to the other UAVs, and
 predicting future locations (x,y,z) of the UAVs which are not able to determine or transmit the adapted trajectory functions,
 wherein the determination of the adapted trajectory function r(t) for at least one of the plurality of UAVs is further based on the predicted future locations.
12. A method according to any of the preceding claims, wherein
 after lapse of the period (T), repeat the step of determining an adapted trajectory function r(t) for at least one of the plurality of UAVs based on the adapted trajectory function of the previous step of the respective UAV and at least some of the other UAVs.
13. A method according to any of the preceding claims, wherein an execution of the adapted trajectory function r(t) of one or more of the UAVs as configured, is stopped and operation of the one or more UAVs is continued based on data obtained from a perception system of the one or more UAVs.
14. A method according to claim 13, comprising monitoring a security condition, such as a safe distance to obstacles, wherein the stop of the operation of the one or more UAVs is executed based on the security condition.
15. A calculation system (170) for a plurality of UAVs arranged to perform the method of any of the preceding claims.
26
16. A computer program product comprising software code adapted to control a UAV when executed on a data processing system, the computer program product being adapted to perform the method of any of the claims 114.
Applications Claiming Priority (2)
Application Number  Priority Date  Filing Date  Title 

EP20189363  20200804  
EP20189363.3  20200804 
Publications (1)
Publication Number  Publication Date 

WO2022029158A1 true WO2022029158A1 (en)  20220210 
Family
ID=71948487
Family Applications (1)
Application Number  Title  Priority Date  Filing Date 

PCT/EP2021/071734 WO2022029158A1 (en)  20200804  20210804  A method for controlling a plurality of uavs 
Country Status (1)
Country  Link 

WO (1)  WO2022029158A1 (en) 
Citations (1)
Publication number  Priority date  Publication date  Assignee  Title 

US8639396B1 (en)  20081008  20140128  Raytheon Company  Cooperative control of unmanned aerial vehicles for tracking targets 

2021
 20210804 WO PCT/EP2021/071734 patent/WO2022029158A1/en active Application Filing
Patent Citations (1)
Publication number  Priority date  Publication date  Assignee  Title 

US8639396B1 (en)  20081008  20140128  Raytheon Company  Cooperative control of unmanned aerial vehicles for tracking targets 
NonPatent Citations (2)
Title 

BAHABRY AHMED ET AL: "LowAltitude Navigation for MultiRotor Drones in Urban Areas", IEEE ACCESS, vol. 7, 18 July 2019 (20190718), pages 87716  87731, XP011735281, DOI: 10.1109/ACCESS.2019.2925531 * 
MATTHEW TURPIN ET AL: "Trajectory design and control for aggressive formation flight with quadrotors", AUTONOMOUS ROBOTS, KLUWER ACADEMIC PUBLISHERS, BO, vol. 33, no. 1  2, 10 February 2012 (20120210), pages 143  156, XP035068674, ISSN: 15737527, DOI: 10.1007/S105140129279Y * 
Similar Documents
Publication  Publication Date  Title 

Wang et al.  Coordinated flight control of miniature fixedwing UAV swarms: methods and experiments  
KR101990886B1 (en)  Big databased autonomous flight drone system and its autonomous flight method  
US8788121B2 (en)  Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles  
US10019005B2 (en)  Autonomous vehicle control system  
US10126722B2 (en)  System and method of dynamically controlling parameters for processing sensor output data for collision avoidance and path planning  
AU2013230737B2 (en)  Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles  
CN108664038B (en)  Multiunmanned aerial vehicle distributed contract auction online task planning method  
KR102089067B1 (en)  Multidrone system and operating method thereof  
Kim et al.  Coordinated trajectory planning for efficient communication relay using multiple UAVs  
US8725402B2 (en)  Loss of separation avoidance maneuvering  
Grancharova et al.  UAVs trajectory planning by distributed MPC under radio communication path loss constraints  
US10834766B2 (en)  Unmanned vehicle controlling system and method of operating same  
US11158200B2 (en)  Decentralized collision avoidance for UAVs  
CN109991971A (en)  Automatic driving vehicle and automatic driving vehicle management system  
CN112639735A (en)  Distribution of calculated quantities  
WO2022029158A1 (en)  A method for controlling a plurality of uavs  
US11334069B1 (en)  Systems, methods and computer program products for collaborative agent control  
KR20220128600A (en)  Method for platooning of vehicles  
Zhang et al.  Survey of safety management approaches to unmanned aerial vehicles and enabling technologies  
AU2015201728B2 (en)  Autonomous vehicle and method for coordinating the paths of multiple autonomous vehicles  
Oh et al.  Coordinated trajectory planning for efficient communication relay using multiple UAVs  
Liu et al.  A distributed and modularised coordination framework for mission oriented fixedwing UAV swarms  
Senthilnath et al.  Efficient resource allocation for decentralized heterogeneous system using density estimation approach  
KR102550145B1 (en)  System and Method of Satellite Navigation Guidance for Redirecting Unmanned Vehicle  
Bakirci et al.  Surveillance, Reconnaissance and Detection Services for Disaster Operations of IoTBased eVTOL UAVs with Swarm Intelligence 
Legal Events
Date  Code  Title  Description 

121  Ep: the epo has been informed by wipo that ep was designated in this application 
Ref document number: 21754985 Country of ref document: EP Kind code of ref document: A1 

NENP  Nonentry into the national phase 
Ref country code: DE 

122  Ep: pct application nonentry in european phase 
Ref document number: 21754985 Country of ref document: EP Kind code of ref document: A1 